2013-07-28 4 views
-2

У меня есть проблема с этим кодом:Как я могу решить «Locmanager»?

boolean gpsStatus = locmanager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
if (!gpsStatus) { 
    Settings.Secure.putString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "network,gps"); 
} 

Я нашел его здесь: https://stackoverflow.com/a/10004614/2628458 Я пытался переключить «locmanager» с «LocationManager» и он не работал. В нем говорится: «Невозможно сделать статическую ссылку на нестатический метод isProviderEnabled (String) из типа LocationManager».

Как исправить эту проблему?

ответ

0

если вы хотите открыть GPS, вы можете использовать следующие коды

String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED); 

if(!provider.contains("gps")){ 
final Intent intent = new Intent(); 
intent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); 
intent.addCategory(Intent.CATEGORY_ALTERNATIVE); 
intent.setData(Uri.parse("3")); 
sendBroadcast(intent); 

и для близких GPS

String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED); 

if(provider.contains("gps")){ 
final Intent intent = new Intent(); 
intent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); 
intent.addCategory(Intent.CATEGORY_ALTERNATIVE); 
intent.setData(Uri.parse("3")); 
sendBroadcast(intent); 
+0

Благодарим вас за ответ. Я пробовал этот код, и я получаю сообщение об ошибке: Uri не может быть разрешен. Что такое Ури? В любом случае, я бы хотел использовать обычный метод, а не эксплойт. У меня есть встроенный телефон. – user2628458

+0

Вы должны импортировать Uri. как это ; импорт android.net.Uri; или комбинация клавиш Ctrl + Shift + O (не ноль) – okarakose

+0

И вы должны поместить это разрешение в свой файл манифеста. okarakose

0

Вы получаете сообщение об ошибке, потому что вы изменили ссылку на экземпляр объекта:

locManager 

в ссылку на класс:

LocationManager 

Ссылки на классы статические. Чтобы понять, что это означает, подумайте о классе LocationManager как резаке для печенья и о таких объектах, как locManager1 и locManager2 как куки, созданные этим резаком для печенья.

Должно показаться очевидным, что куттер-резак не может есть (потреблять) куки, которые он создал. Аналогично, Java не позволяет вам ссылаться (или потреблять) метод на куки-файл из резака для печенья.

Почему это? Потому что cookie содержит состояние, а куки-резаки - нет. Печенье может быть зеленым (если вы ставите в них зеленую окраску пищи). Это состояние файла cookie, а не резак для печенья. Вы не можете вызвать метод getColor на резаке для печенья, , если только вы не указали ссылку на файл cookie. Резак для печенья не имеет цвета.

Read to static, объекты и экземпляры.

Смежные вопросы