Я пытаюсь использовать API определения местоположения Служб Google Play (com.google.android.gms.location) для прослушивания для обновления служб определения местоположения (т. Е. Пользователь включает / выключает местоположение в настройках системы) .
Я знаю, что могу опросить для этой информации:
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.location.LocationSettingsRequest;
import com.google.android.gms.location.LocationSettingsResponse;
import com.google.android.gms.location.SettingsClient;
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(10000);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder();
// ...
SettingsClient client = LocationServices.getSettingsClient(this);
Task<LocationSettingsResponse> task = client.checkLocationSettings(builder.build());
Я также знаю, что могу использовать android SDK для прослушивания :
import android.location.LocationManager;
import android.provider.Settings
private BroadcastReceiver locationServicesBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent == null) {
return;
}
if (LocationManager.PROVIDERS_CHANGED_ACTION.equals(intent.getAction())) {
int locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
boolean isEnabled = locationMode != Settings.Secure.LOCATION_MODE_OFF;
}
}
};
Но можно ли использовать API сервисов Play Services и listen?