C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

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



GPSを制御する

  • 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);
    }
  }
}



コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

Firebase(2)

AD



管理人/副管理人のみ編集できます