3

Я пытаюсь зарегистрировать BroadcastReceiver для получения изменений состояния Location установокBroadcastReceiver для Google Play Место службы (настройка в строке состояния)

Location settings

Но я не нашел никакой документации для Делать это. Я только нашел BroadcastReceiver, чтобы проверить статус определенных поставщиков (GPS и Network providers); но не для проверки того, активен ли этот конкретный параметр (Location) в системных настройках.

Кто-нибудь может показать мне правильное направление?


Примечание:

Я Google Play Место службы (com.google.android.gms.location.LocationListener интерфейс).

+0

я думаю, что это [ссылка] [1] должна помочь вам. Приветствия! [1]: http://stackoverflow.com/a/5240774/3351735 – Kansen

+0

Спасибо @Kansen, но это не совсем то, что мне нужно. – tomloprod

ответ

2

Ну, я нашел один способ проверить, если «Location» установка action bar включена или отключена; но безBroadcastReceiver (позор, действительно)

private static final String TAG = getClass().getName(); 

/* We define the LocationManager */ 
LocationManager location_Manager= (LocationManager) getSystemService(LOCATION_SERVICE); 

/* If the GPS provider or the network provider are enabled; the Location setting is enabled.*/ 
if(location_Manager.isProviderEnabled(LocationManager.GPS_PROVIDER) || location_Manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { 
    Log.d(TAG, "The Location setting is enabled"); 
}else{ 
    /* We send the user to the "Location activity" to enable the setting */ 
    Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
    startActivity(intent); 
} 

Я действительно не нужен BroadcastReceiver; поскольку «arquitecture», который имеет мое приложение, позволяет мне обойтись без него; но мне хотелось бы знать, как его использовать.

ВНИМАНИЕ:

Если кто-то найдет способ сделать это с BroadcastReceiver я изменить свой правильный ответ на ее ответ.

1

Вы можете попробовать использовать приемник местоположения.

onProviderDisabled (поставщик String)
Вызывается, когда провайдер отключен пользователем.

Сравните поставщика строки, такие как
provider.equalsIgnoreCase (LocationManager.GPS_PROVIDER) http://developer.android.com/reference/android/location/LocationListener.html

+0

Привет, Фам Хунг. Я не могу проверить ваш ответ сейчас, но я попробую его через несколько часов, а затем, если он сработает, я приму свой ответ. Но выглядит нормально, +1 – tomloprod

+0

Я попытался использовать информацию в вашем ответе, но, к сожалению, я использовал 'import com.google.android.gms.location.LocationListener' в этом проекте, поэтому у меня нет доступа к методам интерфейса android.location.LocationListener. – tomloprod

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