2017-01-09 11 views
2

Этот вопрос задают так много раз, но я не получил никакого решения о том, как начать обслуживание снова в onTaskRemoved()Service onTaskRemoved(), как запустить службу снова

Я попытался следующие способы, но это не будет работать для меня.

Intent restartServiceIntent = new Intent(getApplicationContext(), this.getClass()); 
    PendingIntent restartServicePendingIntent = PendingIntent.getService(
      getApplicationContext(), 1, restartServiceIntent, PendingIntent.FLAG_ONE_SHOT); 
    AlarmManager alarmService = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
    alarmService.set(alarmService.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 1000,restartServicePendingIntent); 
+0

почему флаг ONE_SHOT? –

+0

@TimCastelijns Я хочу использовать ожидающие намерения один раз –

ответ

0
 @Override 
    public void onTaskRemoved(Intent rootIntent) { 
     Log.e("FLAGX : ", ServiceInfo.FLAG_STOP_WITH_TASK + ""); 

     Intent restartServiceIntent = new Intent(getApplicationContext(), 
       this.getClass()); 
     restartServiceIntent.setPackage(getPackageName()); 

     Intent intent = new Intent(getApplicationContext(), this.getClass()); 

     intent.setPackage(getPackageName()); 

     PendingIntent restartServicePendingIntent = PendingIntent.getService(
       getApplicationContext(), 1, restartServiceIntent, 
       PendingIntent.FLAG_ONE_SHOT); 
     AlarmManager alarmService = (AlarmManager) getApplicationContext() 
       .getSystemService(Context.ALARM_SERVICE); 
     alarmService.set(AlarmManager.ELAPSED_REALTIME, 
       SystemClock.elapsedRealtime() + 1000, 
       restartServicePendingIntent); 

     super.onTaskRemoved(rootIntent); 
    } 

На самом деле я больше не идея о том, как это работа, но этот код поможет вам ..

 Смежные вопросы

  • Нет связанных вопросов^_^