我有一个应用程序: 该应用程序启动,用户按下按钮,服务启动,用户可以破坏活动,但可以保持服务运行。 如果用户重新启动活动,我如何检查该服务正在运行以显示适当的消息? 这个 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;
}
使用不推荐使用的方法。我当时想在活动中使用广播接收器,在服务中使用另一个接收器进行通信,我想知道是否有更好,更优雅的方式,如果没有,超时应该是多长时间(一次接收需要多长时间?广播)?