2016-12-30 16 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

おかげで、私は、Android用Xamarinを使用して、実際にあった、と彼らの例では、最初のパラメータは、それは明らかに間違っているフラグ「StartForeground((int型)NotificationFlags.ForegroundService」だと言っている。実際にはI通知を却下するためにStopForegroundも呼び出さなければなりませんでした。 –

関連する問題