要檢測一個Service是否已經(jīng)被stopService
停止,可以使用isServiceRunning
方法來檢查Service的運(yùn)行狀態(tài)。下面是一個示例代碼:
public boolean isServiceRunning(Context context, Class<?> serviceClass) {
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> runningServices = manager.getRunningServices(Integer.MAX_VALUE);
for (ActivityManager.RunningServiceInfo serviceInfo : runningServices) {
if (serviceInfo.service.getClassName().equals(serviceClass.getName())) {
return true;
}
}
return false;
}
在這個方法中,首先獲取ActivityManager
實(shí)例,然后使用getRunningServices
方法獲取所有正在運(yùn)行的Service列表。接著遍歷列表,通過比較Service的類名是否與目標(biāo)Service類的名稱相同來判斷Service是否正在運(yùn)行。
在調(diào)用stopService
方法之后,可以使用上面的方法檢查目標(biāo)Service是否已經(jīng)停止。