2016-12-30 1 views
0

전 서비스로 실행해야하는 서비스가 있습니다. 작동하려면 알림을 연결해야합니다.StartForeground로 만든 알림은 어떻게 수정합니까?

서비스가 시작되면 OnGoing을 true로 설정하고 사용자가 알림을 사용하여 서비스를 중지 할 때 현재 알림을 OnGoing (false)으로 변경하고 싶습니다. (사용자가 원하는 경우 알림을 닫을 수 있습니다.) 사용자가 알림을 계속 볼 수 있도록 알림을 계속 표시하려면 알림 내에서 다시 서비스를 시작할 수 있습니다.

일반적으로 NoficiationManager를 사용하여 특정 ID로 통지하고 나중에 수정해야했습니다. 그러나 StartForeground (flags, notification)를 호출하면 ID를 설정하는 옵션이 없습니다.

OnGoing (true) 알림 (StartForeground 호출로 시작)을 OnGoing (false)으로 어떻게 수정할 수 있습니까?

답변

0

나는 당신의 아이디어가 정확하다고 생각한다 : ID를 사용하고 그 ID를 사용하여 알림을 업데이트해야한다.

startForeground 메서드의 첫 번째 필드는 플래그가 아니라 ID입니다. 여기에 서명 :

void startForeground (int id, Notification notification)

문서 here

그래서 당신은 동일한 ID를 사용하여 알림을 업데이트 할 수 있습니다.

mNotificationManager.notify(sNotificationId, notification); 
+0

덕분에, 나는 안드로이드에 대한 자 마린을 사용하여 사실, 그리고 그들의의 예에서, 첫 번째 매개 변수는 분명히 잘못된 플래그 "StartForeground ((int)를 NotificationFlags.ForegroundService"가 있다고 말하고있다. 사실 알림을 취소 할 수 있도록 StopForeground를 호출해야했습니다. –

관련 문제