2012-02-09 2 views
0

У меня есть MyActivity и MyService (который играет музыку). У меня также уведомление (в панели уведомлений), но когда я нажимаю его, MyActivity открывается в состоянии по умолчанию (кнопка воспроизведения не нажата, например, хотя музыка все еще воспроизводится). Это работало нормально, прежде чем я начал работать со связыванием - я обеспокоен тем, что он должен что-то с этим делать.Android: уведомление и связанное обслуживание

Что может быть неправильным?


EDIT:

Это мой Noification внутри моей службы:

PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0, 
      new Intent(getApplicationContext(), SoundRelaxerActivity.class), 
      PendingIntent.FLAG_UPDATE_CURRENT); 
Notification notification = new Notification(); 
notification.tickerText = "Soundrelaxer: "+trackTitle; 
notification.icon = R.drawable.play; 
notification.flags |= Notification.FLAG_ONGOING_EVENT; 
notification.setLatestEventInfo(getApplicationContext(), "SoundRelaxer","Playing: " + trackTitle, pi); 
startForeground(1, notification); 

ответ

1

Попробуйте добавить этот флаг к Intent вы используете в вашем уведомлении:

intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 

Таким образом, новый экземпляр вашей Activi ty не будет создан, если он существует.

+0

На самом деле я использую PendingIntent (работая над Руководством по руководству разработчиками), который не имеет этого типа флага. Или вы имеете в виду намерение, с которым я запускаю услугу? Также обратите внимание на первое сообщение. –

+0

Не 'PendingIntent', а' Intent' вы переходите к 'PendingIntent'. –

+0

Спасибо, теперь он работает так, как ожидалось. –

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