2016-07-31 3 views
0

Damit Code unten stoppt ich mag Service Zustand überprüfen, wie Start oder Stopp, aber diese Methode immer false zurück, und ich kann nicht überprüfen, obAndroid-Check-Service Zustand wie Start/

public static boolean isServiceRunning(Context context, String className) { 
    boolean isRunning = false; 
    ActivityManager activityManager 
      = (ActivityManager) context.getSystemService(
      Context.ACTIVITY_SERVICE); 
    List<ActivityManager.RunningServiceInfo> servicesList 
      = activityManager.getRunningServices(Integer.MAX_VALUE); 
    for (ActivityManager.RunningServiceInfo si : servicesList) { 
     if (className.equals(si.service.getClassName())) { 
      isRunning = true; 
     } 
    } 
    return isRunning; 
} 

ich habe einfache Service als DownloadFile und mit

boolean state = isServiceRunning("DownloadFile"); 

I zu überprüfen und zu testen ich versucht, dass

+0

Probieren Sie es mit 'si.service.getSimpleName()' – Shaishav

Antwort

0

Sie eine wie folgende versuchen:

private boolean isMyServiceRunning(Class<?> serviceClass) { 
    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
     if (serviceClass.getName().equals(service.service.getClassName())) { 
      return true; 
     } 
    } 
    return false; 
} 

Und es nennen, indem Sie: isMyServiceRunning(MyService.class)

+1

Danke, lassen Sie es mich, dass Herr zu testen. –

+0

@mahdipishguy check it out :) – alway5dotcom

Verwandte Themen