2014-01-27 3 views
0

Я работаю над приложением, которое автоматически направляет пользователя на настройки GPS при запуске приложений.Проблемы с автоматическим разрешением GPS

Problems: 

1.Do я должен объявить Write Secure Settings в манифесте для этого. (Если да, то его показ «согласия автора предоставляется только для системных приложений), что делать в этом случае, если ответ yes

2.Что делает мое приложение сейчас, когда пользователь напрямую подключается к настройкам GPS, я хочу, чтобы появилось диалоговое окно (только если GPS выключен), имеющего «Настройки GPS» и «Отменить», button.И если пользователь выбирает «cancel», я хочу отобразить другое диалоговое окно, в котором показано, что «приложение не будет работать с GPS OFF».

Что делать с этими проблемами, пожалуйста, предложите.

startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS)); 

Я использую этот код для настроек GPS.

ответ

2

Не любое Дополнительное разрешение требуется для Write Secure Settings. Вам просто нужно проверить, что ваш GPS включен или выключен с помощью ниже:

// flag for GPS status 
boolean isGPSEnabled = false; 

// Declaring a Location Manager 
protected LocationManager locationManager; 

locationManager = (LocationManager) mContext 
       .getSystemService(LOCATION_SERVICE); 

     // getting GPS status 
     isGPSEnabled = locationManager 
       .isProviderEnabled(LocationManager.GPS_PROVIDER); 

if (!isGPSEnabled) { 
    // no GPS provider is enabled 
    //Create your Dialog over here 
     } else{ 
    // GPS provider is enabled 
} 
+0

, но его показ mContext не может быть решена –

+0

@bhanukaushik mContext это ваш контекст деятельности. это оно. –

+0

не забудьте принять. –

0

Вы можете проверить состояние GPS как следующий

LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); 
if (locationManager != null) { 
    boolean state = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
} 
Смежные вопросы