Есть ли способ программно включить GPS на Android 2.1 и выше? - PullRequest
0 голосов
/ 02 июня 2011

Я видел разные сообщения о том, что GPS не может быть включен программно Как узнать, включен ли GPS устройства Android

Но это приложениевключает GPS, когда он отключен.Может кто-нибудь, пожалуйста, помогите мне.

Спасибо, Prateek

Ответы [ 3 ]

3 голосов
/ 02 июня 2011

Нет, ты не можешь. Но вы можете предложить пользователю включить его. Вот код.

private void buildAlertMessageNoGps() {
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage(
            "Your GPS seems to be disabled, do you want to enable it?")
            .setCancelable(false).setPositiveButton("Yes",
                    new DialogInterface.OnClickListener() {
                        public void onClick(
                                @SuppressWarnings("unused") final DialogInterface dialog,
                                @SuppressWarnings("unused") final int id) {
                            Intent intent = new Intent(
                                    Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                            startActivity(intent);
                        }
                    }).setNegativeButton("No",
                    new DialogInterface.OnClickListener() {
                        public void onClick(final DialogInterface dialog,
                                @SuppressWarnings("unused") final int id) {
                            dialog.cancel();
                        }
                    });
    final AlertDialog alert = builder.create();
    alert.show();
}
0 голосов
/ 26 июля 2012

Да, это можно сделать до 2,2 (SDK 8).

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);
}
}
0 голосов
/ 02 июня 2011

Если в документации сказано, что она не может быть установлена ​​программно, я советую вам не делать этого. Есть много влияний, почему в документации это сказано. И если кто-то смог это сделать (включив GPS программно), это означает, что он / она делает что-то, что не было документов.

Для активации GPS требуется разрешение пользователя. Если ваше приложение смогло активировать GPS без уведомления пользователей (более того, запрашивая разрешение пользователя), вы можете нарушить политику конфиденциальности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...