2015-03-23 3 views
1

У меня есть следующая схема:Android: служба начинается после завершения родительской активности.

активность -Какой может начать активность B. активность B имеет фоновую службу она использует которая запускается с помощью сигнала тревоги следующим образом:

alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
     serviceSaveSample = new Intent(getApplicationContext(), 
       SaveSampleService.class); 
     alarmSaveSample = PendingIntent.getService(getApplicationContext(), 
       9988766, serviceSaveSample, PendingIntent.FLAG_UPDATE_CURRENT); 
     alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() 
       + (secondsToSample * 1000), secondsToSample * 1000, 
       alarmSaveSample); 

Реализация сервиса:

public class SaveSampleService extends Service { ... 

@Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 

      PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
        new Intent(this, RunActivity.class), 0); 


     Notification notif = new NotificationCompat.Builder(
       getApplicationContext()).setAutoCancel(true) 
       .setContentText("message").setSmallIcon(R.drawable.logo) 
       .setAutoCancel(true) 
       .setSmallIcon(R.drawable.logo) 
       .setContentIntent(contentIntent) 
       .build(); 

     startForeground(startId, notif); 
    // some work... 
     return START_STICKY; 
    } 

проблема заключается в том, что если я переместить приложение в фоновом режиме, когда активность B находится на вершине стека и запущена служба, служба перезапускается после того, как я закрыл Activ i B явно.

Я пробовал любые, если не все флаги, и эта проблема сохраняется. попытался установить значение параметра launchMode для любого из значений и все еще не работал. любые предложения?

+0

Убедитесь, что вы не призывающую '' startService' в OnCreate() 'деятельности по – Apurva

+0

, где вы остановите службу? – pskink

+0

i остановить будильник, когда кнопка нажата и включена onDestroy –

ответ

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