Android判断后台服务是否开启的两种方法实例详解
最近项目用到后台上传,就开启了一个服务service。
但是刚开始用这种方法,有些机型不支持:酷派不支持。然后又换了第二种判断方法。
代码语言:javascript复制// public boolean isServiceWork(Context mContext, String serviceName) {
// boolean isWork = false;
// ActivityManager myAM = (ActivityManager) mContext
// .getSystemService(Context.ACTIVITY_SERVICE);
// List<ActivityManager.RunningServiceInfo myList = myAM.getRunningServices(40);
// if (myList.size() <= 0) {
// return false;
// }
// for (int i = 0; i < myList.size(); i ) {
// String mName = myList.get(i).service.getClassName().toString();
// if (mName.equals(serviceName)) {
// isWork = true;
// break;
// }
// }
// return isWork;
// }
第二种是:传入service的包名
代码语言:javascript复制private boolean isServiceRunning(String ServicePackageName) {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (ServicePackageName.equals(service.service.getClassName())) {
return true;
}
}
return false;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!