最終更新:
moonlight_aska 2011年11月03日(木) 09:22:55履歴
GPSのON/OFFは, GPSの状態を取得するにあるように, インテントを使って"位置情報とセキュリティ"の設定画面を呼び出すことで一応行える.
より直接的にGPSをON/OFFするためには, sendBroadcastメソッドを使って"com.android.settings.widget.SettingsAppWidgetProvider"にデータを送信し, デバイス設定を変更する.
(注) この方法は, Android 2.3からは使えないようである.

より直接的にGPSをON/OFFするためには, sendBroadcastメソッドを使って"com.android.settings.widget.SettingsAppWidgetProvider"にデータを送信し, デバイス設定を変更する.
(注) この方法は, Android 2.3からは使えないようである.

- Gps02.java
- Uriに"custom:3"を設定する.
- "com.android.settings.widget.SettingsAppWidgetProvider", Uriを指定して, Intentのインスタンスを取得する.
- sendBroadcastメソッドで, データをブロードキャスト送信する.
package com.moonlight_aska.android.gps02;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Gps02 extends Activity implements View.OnClickListener{
private Button btn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button)findViewById(R.id.button_id);
btn.setOnClickListener(this);
btn.setText(R.string.sw_label);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v == btn) {
Uri uri = Uri.parse("custom:3");
Intent intent = new Intent().setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider")
.addCategory(Intent.CATEGORY_ALTERNATIVE)
.setData(uri);
sendBroadcast(intent);
}
}
}
コメントをかく