时间:2020-12-18 01:14:52 | 栏目:Android代码 | 点击:次
Android判断后台服务是否开启的两种方法实例详解
最近项目用到后台上传,就开启了一个服务service。
但是刚开始用这种方法,有些机型不支持:酷派不支持。然后又换了第二种判断方法。
// 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的包名
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; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!