Возможно ли запланировать события (GPS On / Off, Wifi On? Off) в рабочем менеджере? - PullRequest
0 голосов
/ 18 сентября 2018

От Android Oreo мы не можем использовать некоторые приемники неявного широкого вещания (состояние сети и т. Д.,).Вместо этого мы можем использовать планировщик заданий или диспетчер.Но в I / O 2018 Google ввел новую библиотеку под названием workmanager.

Но здесь возникает вопрос, как я могу обрабатывать системные события (при получении вызова, изменении состояния сети, включении / выключении GPS и т. Д.) В Work manger?или Как я могу запланировать свою работу в определенное время (без использования расчета времени)?

Если у кого-то есть идеи по этому поводу, пожалуйста, дайте мне знать.Заранее спасибо.

1 Ответ

0 голосов
/ 20 сентября 2018

Вы можете архивировать, просто используя метод setInterval в классе LocationService.

Следуйте руководству, чтобы создать прослушиватель с использованием FusedLocaation, который даст вам лучший результат в логике определения местоположения. https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient

LocationRequest locationRequest = LocationRequest.create();
            locationRequest.setInterval(5000); 
            // in milliseconds in you case change into 3600000
            locationRequest.setFastestInterval(1000);
            locationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);

Затем запустите fusedLocation с обратным вызовом

       mFusedLocationClient = LocationServices.getFusedLocationProviderClient(locationActivity);                
       mFusedLocationClient.requestLocationUpdates(locationRequest, new LocationCallback() {
            @Override
            public void onLocationResult(LocationResult locationResult) {
                super.onLocationResult(locationResult);
            }

            @Override
            public void onLocationAvailability(LocationAvailability locationAvailability) {
                super.onLocationAvailability(locationAvailability);
            }
        },null);

Спасибо

...