Здравствуйте. Подскажите пожалуйста. В Android 6+ что бы получить список Wifi-сетей нужно включить геолокацию. Включение геолокации происходит через запуск
if (!locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
Intent settingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(settingsIntent);
}
Запускается окно настроек с переключателем, а как теперь отловить изменение?
Пробовал через BroadcastReceiver, но не работает.
protected void onCreate(Bundle savedInstanceState) {
...
registerReceiver(gpsReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));
...
}
private BroadcastReceiver gpsReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().matches(LocationManager.PROVIDERS_CHANGED_ACTION)) {
//Do your stuff on GPS status change
Log.i("TEST_WIFI", "CHANGE LOCATION");
}
}
};
Спасибо