Остановка JobService правильно на Зефир - PullRequest
0 голосов
/ 18 апреля 2019

в моем приложении я использую JobService, чтобы сделать некоторую работу. Я возвращаю true в onStartJob(), и при некоторых условиях я переношу его в onStopJob().

У меня есть статический метод с именем stopService(), где я вызываю context.stopService().

public static void stopService(Context context){

        Log.e(LOG_TAG, "stopService() --> calling for context.stopService()");
        if(isRunning(context)) {
            Log.e(LOG_TAG, "the service is running, performing stop.");
            context.stopService(new Intent(context, ScreenReceiverRegistrationJobService.class));
        }
        else{
            Log.e(LOG_TAG, "the service is not running doing nothing.");
        }
    }

Теперь, когда я запускаю это на Android Oreo / Pie, я вижу в логах logcat от onStopJob() и onDestroy() моего сервиса.

Однако, когда я попытался запустить его на Android M, я не увидел никаких журналов с onStop() и onDestroy().

Я должен также указать, что, когда я хочу остановить службу, я также звоню на

FireBaseJobDispatcher.cancel("jobTag");

Что может быть причиной такого поведения на Android M, а не на O / P?

...