2016-05-12 5 views
0

Я хочу полностью прекратить свое обслуживание и снова запустить его программно самостоятельно. но так как он называется OnDestroy() или stopSelf(), он не может запускаться снова. Как я могу перезапустить службу, любое предложение?Перезагрузка моего Android-сервиса

+0

Вы пробовали и видел этот ответ: http://stackoverflow.com/questions/13227697/how-to-restart-service-in-android-to-call-service-oncreate-again –

ответ

0

Я использую этот способ в своих приложениях:

Останов службы:

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

обслуживание Начало:

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

метод isMyServiceRunning:

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; 
} 
Смежные вопросы