2011-09-08 2 views
1

다음은 이야기입니다. 부팅 할 때 시작하여 지정된 간격으로 일부 작업을 수행하는 응용 프로그램을 만들었습니다. 이를 달성하기 위해 AlarmManager을 사용하여 반복되는 이벤트를 생성 한 다음 BroadcastReceiver이 처리하는 서비스를 만들고 있습니다. 서비스가 삭제되면 (사용자가 응용 프로그램을 종료하도록 선택) 이벤트가 취소되어야하므로 서비스는 시작하는 데 사용한 것과 동일한 PendingIntent에 대한 참조를 유지해야합니다.Android 포 그라운드 서비스

문제 : 서비스에서 PendingIntent 참조를 유지할 수 있도록 서비스가 startForeground으로 전화해야합니다. 알림은 상태 표시 줄에 항상 표시되며 사용자는 성가신 것으로 나타납니다 (솔직히 말해서, 나도 마찬가지입니다).

다음은? 이상 적으로 아이콘을 상태 표시 줄에 유지하지만 드래그 다운 목록에는 표시되지 않는 솔루션을 찾고 있습니다. 이렇게하면 사용자는 실행 중임을 알게되고 공간 낭비로 짜증을 느끼지 않습니다.

일부 추측 : 참조 서를 다시 만들 때 서비스를 복원 할 수 있습니까? 그렇다면 어떻게? 이렇게하면 startForeground을 사용하지 않아도됩니다. 하지만 여전히 상태 표시 줄에 아이콘을 가져 오는 방법은 무엇입니까?

누군가가 더 좋은 해결책을 갖고 있습니까?

답변

0

우선, 항상 PendingIntent에 머물 필요가 없습니다. 필요한 모든 데이터가있는 경우 나중에 다시 알림을 취소하여 알림을 취소 할 수 있습니다. 정확히 동일한 데이터로 다시 만들어야합니다.

+0

감사합니다. 시작은 좋지만 여전히 확장 메시지가없는 상태 표시 줄에 아이콘을 넣을 수 있습니까? –

관련 문제