Можно ли запланировать события (вкл./выкл. GPS, вкл./выкл. Wi-Fi) в workmanager?

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

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

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


person Suresh    schedule 18.09.2018    source источник


Ответы (1)


Вы можете архивировать, просто используя метод 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);

Спасибо

person Arul Mani    schedule 20.09.2018