2016-05-12 18 views
0

Ich möchte meinen Dienst vollständig beenden und es erneut programmgesteuert von selbst ausführen. aber wie es OnDestroy() oder stopSelf() -Methoden aufgerufen hat, kann es nicht erneut starten. Wie kann ich meinen Dienst neu starten, irgendeinen Vorschlag?Neustart meines Android-Dienstes

+0

Haben Sie versucht, und diese Antwort gesehen: http://stackoverflow.com/questions/13227697/how-to-restart-service-in-android-to-call-service-oncreate- wieder –

Antwort

0

Ich benutze diese Art und Weise in meine apps:

Stoppen Service:

mContext.stopService(new Intent(mContext, LocationProviderService.class)); 

Startservice:

if(!HelperUtils.isMyServiceRunning(LocationProviderService.class, getApplicationContext())) 
    { 
     startService(new Intent(this, LocationProviderService.class)); 
    } 

isMyServiceRunning Methode:

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