С выпуском сервисов Google Play 11.0.0 был представлен новый способ доступа к LocationServices.Теперь некоторые функции, управляемые вручную, такие как подключение к сервисам Play, не требуются.
Новые API-интерфейсы LocationServices намного проще и сделают ваш код менее подверженным ошибкам.Логика подключения обрабатывается автоматически, и вам нужно только подключить один прослушиватель завершения:
FusedLocationProviderClient client =
LocationServices.getFusedLocationProviderClient(this);
client.requestLocationUpdates(LocationRequest.create(), pendingIntent)
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
Log.d("MainActivity", "Result: " + task.getResult());
}
});
Новый API немедленно улучшает код несколькими способами:
- APIвызовы автоматически ожидают установления соединения со службой, что устраняет необходимость ждать onConnected перед выполнением запросов.
- Используется API-интерфейс Task, который упрощает составление асинхронных операций.
- код является автономным и может быть легко перемещен в общий служебный класс или аналогичный.
- Вам не нужно понимать базовый процесс подключения, чтобы начать кодирование.
Для получения дополнительной информацииподробно, вы можете прочитать этот блог.