在不使用getRunningServices的情况下检查服务是否正在运行

时间:2018-07-02 19:55:52

标签: android broadcastreceiver android-service

我有一个应用程序: 该应用程序启动,用户按下按钮,服务启动,用户可以破坏活动,但可以保持服务运行。 如果用户重新启动活动,我如何检查该服务正在运行以显示适当的消息? 这个 How to check if a service is running on Android?

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

使用不推荐使用的方法。我当时想在活动中使用广播接收器,在服务中使用另一个接收器进行通信,我想知道是否有更好,更优雅的方式,如果没有,超时应该是多长时间(一次接收需要多长时间?广播)?

0 个答案:

没有答案