要检测一个Service是否已经被stopService
停止,可以使用isServiceRunning
方法来检查Service的运行状态。下面是一个示例代码:
public boolean isServiceRunning(Context context, Class> serviceClass) { ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); ListrunningServices = manager.getRunningServices(Integer.MAX_VALUE); for (ActivityManager.RunningServiceInfo serviceInfo : runningServices) { if (serviceInfo.service.getClassName().equals(serviceClass.getName())) { return true; } } return false; }
在这个方法中,首先获取ActivityManager
实例,然后使用getRunningServices
方法获取所有正在运行的Service列表。接着遍历列表,通过比较Service的类名是否与目标Service类的名称相同来判断Service是否正在运行。
在调用stopService
方法之后,可以使用上面的方法检查目标Service是否已经停止。