Android

How to programmatically enable GPS in Android Cupcake

Как программно включить GPS в Android Cupcake

В настоящее время я пишу приложение для Android, которое работает с GPS. На данный момент я могу определить, включен ли GPS. Моя проблема в том, что я хочу включить GPS при запуске приложения, если оно отключено. Как я могу сделать это программно?

Переведено автоматически
Ответ 1

Вы не можете, начиная с Android 1.5. Максимум, что вы можете сделать, это открыть действие, чтобы позволить пользователю включать / выключать его. Используйте действие, выполняемое в android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS, чтобы создать намерение открыть это действие.

Ответ 2
if(!LocationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ))
{
Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );
startActivity(myIntent);
}
Ответ 3

Этот код метода может вам помочь

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();
}
}
Ответ 4

Вы могли бы использовать следующее:

try {
Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, true);
} catch (Exception e) {
logger.log(Log.ERROR, e, e.getMessage());
}

но это будет работать, только если у вас есть уровень защиты сигнатур системы. Итак, вам нужно создать свой собственный образ, чтобы действительно использовать его :/

java android