私は現在、GPS で動作する Android のアプリを作成しています。現時点では、GPS が有効になっているかどうかを確認できます。私の問題は、アプリの起動時にGPSが無効になっている場合に有効にしたいということです。プログラムでこれを行うにはどうすればよいですか?
55375 次
7 に答える
51
Android 1.5 以降ではできません。あなたができることは、アクティビティをポップして開き、ユーザーがオン/オフを切り替えられるようにすることです。保持されているアクションを使用して、android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS
このアクティビティを開くインテントを作成します。
于 2009-06-27T00:33:48.010 に答える
15
if(!LocationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ))
{
Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );
startActivity(myIntent);
}
于 2010-07-23T02:22:54.827 に答える
6
このメソッドコードはあなたの助けになります
private void turnGPSOnOff(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){
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);
//Toast.makeText(this, "Your GPS is Enabled",Toast.LENGTH_SHORT).show();
}
}
于 2011-09-29T12:34:44.397 に答える
3
以下を使用できます。
try {
Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, true);
} catch (Exception e) {
logger.log(Log.ERROR, e, e.getMessage());
}
ただし、システム署名保護レベルがある場合にのみ機能します。したがって、実際に使用するには、独自のイメージをクックする必要があります:/
于 2011-04-29T19:45:45.593 に答える
-5
質問がAndroidのユーザーレベルである場合、これらのプロパティは次の場所にあります"Settings -> Location -> Use wireless networks" -> "Settings -> Location -> Use GPS satellites"
。
ただし、開発者は"android.provider.Settings.Secure"
適切な権限でクラスを使用できます。
于 2011-01-25T09:03:49.263 に答える