检查Foreground服务是否在Android OREO中运行

问题描述 投票:0回答:1

我想检查我的服务是否正在运行,我正在使用下面的代码,这个代码工作正常,直到牛轧糖但不在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;
    }

但上面的代码不适用于前台服务。

我推荐了this,但它也没有用..

android performance service foreground-service
1个回答
3
投票

自API 26以来,ActivityManager.getRunningServices() API一直是deprecated,从Oreo开始不再提供。它仅用于调试,而不是用于生产应用程序。您不应该依赖此类API来为您的应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.