判断SERVICE是否存活引起的DeadSystemException
程序员文章站
2022-03-26 10:31:55
/** * 方法描述:判断某一Service是否正在运行 * * @param context 上下文 * @param serviceName Service的全路径: 包名 + service的类名 * @return true 表示正在运行,false 表示没有运行 */ public static boolean isServiceRunning(Context context, String serviceName) {....
/**
* 方法描述:判断某一Service是否正在运行
*
* @param context 上下文
* @param serviceName Service的全路径: 包名 + service的类名
* @return true 表示正在运行,false 表示没有运行
*/
public static boolean isServiceRunning(Context context, String serviceName) {
try {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> runningServiceInfos = am.getRunningServices(200);
if (runningServiceInfos.size() <= 0) {
return false;
}
for (ActivityManager.RunningServiceInfo serviceInfo : runningServiceInfos) {
if (serviceInfo.service.getClassName().equals(serviceName)) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
代码很容易引起 android.os.DeadSystemException。
修改方案是加try catch(上面示例代码已经添加)
本文地址:https://blog.csdn.net/aomandeshangxiao/article/details/110629896