BackgroundUidFilter() { final ActivityManager am = (ActivityManager) mBase.getSystemService(ACTIVITY_SERVICE); if (am == null) { running_services = null; running_processes = null; } else if (SDK_INT >= LOLLIPOP_MR1) { // getRunningAppProcesses() is limited on Android 5.1+. running_services = am.getRunningServices(64); // Too many services are never healthy, thus ignored intentionally. running_processes = null; } else { running_services = null; running_processes = am.getRunningAppProcesses(); } }
public static boolean isServiceRunning(String name) { ActivityManager manager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); //noinspection ConstantConditions for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (name.equals(service.service.getClassName())) return true; } return false; }
/** * Check if the service is running * * @param context * @param cls * @return */ public static boolean isServiceRunning(Context context, Class<?> cls) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> services = activityManager .getRunningServices(Integer.MAX_VALUE); for (ActivityManager.RunningServiceInfo serviceInfo : services) { ComponentName componentName = serviceInfo.service; String serviceName = componentName.getClassName(); if (serviceName.equals(cls.getName())) { return true; } } return false; }
/** * 用来判断服务是否运行. * * @param context the context * @param className 判断的服务名字 "com.xxx.xx..XXXService" * @return true 在运行 false 不在运行 */ public static boolean isServiceRunning(Context context, String className) { boolean isRunning = false; ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningServiceInfo> servicesList = activityManager .getRunningServices(Integer.MAX_VALUE); Iterator<RunningServiceInfo> l = servicesList.iterator(); while (l.hasNext()) { RunningServiceInfo si = (RunningServiceInfo) l.next(); if (className.equals(si.service.getClassName())) { isRunning = true; } } return isRunning; }
private void stopServices() { if (config.stopServicesOnCrash()) { try { final ActivityManager activityManager = SystemServices.getActivityManager(context); final List<ActivityManager.RunningServiceInfo> runningServices = activityManager.getRunningServices(Integer.MAX_VALUE); final int pid = Process.myPid(); for (ActivityManager.RunningServiceInfo serviceInfo : runningServices) { if (serviceInfo.pid == pid && !LegacySenderService.class.getName().equals(serviceInfo.service.getClassName()) && !JobSenderService.class.getName().equals(serviceInfo.service.getClassName())) { try { final Intent intent = new Intent(); intent.setComponent(serviceInfo.service); context.stopService(intent); } catch (SecurityException e) { if (ACRA.DEV_LOGGING) ACRA.log.d(LOG_TAG, "Unable to stop Service " + serviceInfo.service.getClassName() + ". Permission denied"); } } } } catch (SystemServices.ServiceNotReachedException e) { ACRA.log.e(LOG_TAG, "Unable to stop services", e); } } }
@Test public void getRunningServices_shouldReturnServiceList() { final ActivityManager activityManager = getActivityManager(); final ActivityManager.RunningServiceInfo service1 = buildServiceInfo(new ComponentName("org.robolectric", "Service 1")); final ActivityManager.RunningServiceInfo service2 = buildServiceInfo(new ComponentName("org.robolectric", "Service 2")); assertThat(activityManager.getRunningServices(Integer.MAX_VALUE)).isEmpty(); shadowOf(activityManager).setServices(Lists.newArrayList(service1, service2)); assertThat(activityManager.getRunningServices(Integer.MAX_VALUE)).containsExactly(service1, service2); }
@Override public List<ResolveInfo> queryIntentServices(final Intent intent, final int flags) { check(intent); final List<ResolveInfo> resolves = new ArrayList<>(); if (mTestingBackgroundUid) { final ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); Assume.assumeTrue(am != null); final List<ActivityManager.RunningServiceInfo> services = am.getRunningServices(32); if (services != null) for (final ActivityManager.RunningServiceInfo service : services) { if (service.pid == 0 || service.uid == android.os.Process.myUid()) continue; resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, 7777777)); // Simulate a background UID. resolves.add(buildResolveInfo("non.bg.service", true, service.uid)); break; } } resolves.add(buildResolveInfo(ALLOWED_PACKAGE, true, android.os.Process.myUid())); resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, android.os.Process.myUid())); return resolves; }
BackgroundUidFilter() { if (SDK_INT >= LOLLIPOP_MR1) { // getRunningAppProcesses() is limited on Android 5.1+. running_services = ((ActivityManager) mBase.getSystemService(ACTIVITY_SERVICE)).getRunningServices(64); // Too many services are never healthy, thus ignored intentionally. running_processes = null; } else { running_services = null; running_processes = ((ActivityManager) mBase.getSystemService(ACTIVITY_SERVICE)).getRunningAppProcesses(); } }
public static boolean isServiceRunning(Context context, Class serviceClass) { ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (serviceClass.getName().equals(service.service.getClassName())) { return true; } } return false; } }
public static boolean isMyServiceRunning(Context context, Class<?> serviceClass) { ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (serviceClass.getName().equals(service.service.getClassName())) { return true; } } return false; }
/** * 检测服务是否运行 * * @param context 上下文 * @param className 类名 * @return 是否运行的状态 */ public static boolean isServiceRunning(Context context, String className) { boolean isRunning = false; ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningServiceInfo> servicesList = activityManager .getRunningServices(Integer.MAX_VALUE); for (RunningServiceInfo si : servicesList) { if (className.equals(si.service.getClassName())) { isRunning = true; } } return isRunning; }
/** * 检测服务是否运行 * * @param context 上下文 * @param className 类名 * @return 是否运行的状态 */ public static boolean isServiceRunning(Context context, String className) { boolean isRunning = false; ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningServiceInfo> servicesList = activityManager .getRunningServices(Integer.MAX_VALUE); for (RunningServiceInfo si : servicesList) { if (className.equals(si.service.getClassName())) { isRunning = true; } } return isRunning; }
.getSystemService(Context.ACTIVITY_SERVICE); List<RunningServiceInfo> serviceList = am.getRunningServices(100); if (serviceList != null) for (RunningServiceInfo service : serviceList) {
.getSystemService(Context.ACTIVITY_SERVICE); List<RunningServiceInfo> serviceList = am.getRunningServices(100); if (serviceList != null) for (RunningServiceInfo service : serviceList) {
@Override public List<ResolveInfo> queryIntentServices(final Intent intent, final int flags) { check(intent); final List<ResolveInfo> resolves = new ArrayList<>(); if (mTestingBackgroundUid) { final ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); final List<ActivityManager.RunningServiceInfo> services = am.getRunningServices(32); if (services != null) for (final ActivityManager.RunningServiceInfo service : services) { if (service.uid == android.os.Process.myUid()) continue; resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, 7777777)); // Simulate a background UID. resolves.add(buildResolveInfo("non.bg.service", true, service.uid)); break; } } resolves.add(buildResolveInfo(ALLOWED_PACKAGE, true, android.os.Process.myUid())); resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, android.os.Process.myUid())); return resolves; }
public static boolean isAudioPlayerServiceRunning(Class<?> serviceClass, Context context) { boolean serviceState = false; ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service : manager.getRunningServices( Integer.MAX_VALUE)) { if (serviceClass.getName().equals(service.service.getClassName())) { serviceState = true; } } return serviceState; } }
private boolean isServiceRunning(Class<?> serviceClass){//Class<?> serviceClass if (serviceClass != null) { ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); // Loop through the running services for (ActivityManager.RunningServiceInfo service : activityManager.getRunningServices(Integer.MAX_VALUE)) { //if (d) Log.d(TAG, "isServiceRunning: getClassName=" + service.service.getClassName() + " getShortClassName=" + service.service.getShortClassName()); if (serviceClass.getName().equals(service.service.getClassName())) return true; } } return false; }
private boolean isMyServiceRunning(Class<?> serviceClass) { ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (serviceClass.getName().equals(service.service.getClassName())) { return true; } } return false; }
public static boolean isAnalyzerServiceRunning() { ActivityManager manager = (ActivityManager) RunStore.getContext().getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (PassiveService.class.getName().equals(service.service.getClassName())) { return true; } } return false; }
private boolean isMyServiceRunning(Class<?> serviceClass) { ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (serviceClass.getName().equals(service.service.getClassName())) { return true; } } return false; }