・マナーモードをオフ
・GPSオフ
・データ通信オフ
にしてたので、電話をかけても聞こえず(当然^^;;
docomoのケータイお探しサービスも役に立たなかったので、
・マナーモードをオンにして音量最大に
・GPSをオン
・データ通信オン
にするアプリを作ろう!と調査開始。
通常のアプリではパーミッション(WRITE_SECURE_SETTINGS)の設定が許されてなく、
GPSオンのAPIは標準で提供されていない。
(データ通信オン・オフも非標準ですが....)
IntentをBroadCastして実現する方法を見つけた。
(抜粋)
private void turnGPSOn(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){ //if gps is disabled
final Intent poke = new Intent();
poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
sendBroadcast(poke);
}
}
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){ //if gps is disabled
final Intent poke = new Intent();
poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
sendBroadcast(poke);
}
}
しかし、この方法は、Android2.3以降より使えなくなったらしい。
N03-E(Android 4.0.4)ではまったく無反応(T T)
しか~し、Nexus7ではGPSがONになった。
Android 4.2.2から復活したのだ!?
よ~わからん。
0 件のコメント:
コメントを投稿