У меня есть действие, которое запускает службу.
В моей активности:
startService(new Intent(this, MyService.class));
В моей службе onStart ():
/* Show notification */
int icon = R.drawable.icon;
tickerText = getResources().getString(R.string.app_name);
long when = System.currentTimeMillis();
contentTitle = getResources().getString(R.string.app_name);
contentText = getResources().getString(R.string.running);
Intent notificationIntent = new Intent(this, activityClass).setAction(Intent.ACTION_MAIN).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification = new Notification(icon, tickerText, when);
notification.setLatestEventInfo(this, contentTitle, contentText, contentIntent);
notification.flags = Notification.FLAG_ONGOING_EVENT;
((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).notify(0, notification);
startForeground(0, notification);
Службаимеет таймер, который выполняет некоторую работу каждые 3-4 минуты, и, если возможно, передает информацию в активность.Когда действие закрыто, служба должна продолжать выполнять свою работу.
Когда я запускаю приложение и возвращаюсь на домашний экран, служба продолжает работать.Но через некоторое время я получаю эти сообщения logcat, и служба останавливается:
07-03 16: 55: 09.440: INFO / ActivityManager (583): процесс com.myapp (pid 11665) умер,07-03 16: 55: 09.440: WARN / ActivityManager (583): планирование перезапуска аварийного сервиса com.myapp / .MyService через 5000 мс
Как я могу предотвратить это?