Проверьте, запущен ли сервис Foreground в Android OREO - PullRequest
0 голосов
/ 13 декабря 2018

Я хочу проверить, работает ли мой сервис или нет, я использовал приведенный ниже код, который работал нормально до нуга, но не работал в OREO

 private boolean isMyServiceRunning(Class<?> serviceClass, Context context) {
        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
            Log.d(TAG, "isMyServiceRunning: " + service.service.getClassName());
            if (serviceClass.getName().equals(service.service.getClassName())) {
                return true;
            }
        }
        return false;
    }

Но код выше не работает для сервисов переднего плана.

Я упомянул это , но оно также не работает ..

1 Ответ

0 голосов
/ 13 декабря 2018

API ActivityManager.getRunningServices() устарел со времени API 26 и больше не доступен с Oreo.Он предназначался только для отладки, а не для рабочих приложений.Вы не должны полагаться на этот тип API для своего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...