以下を使用して、サービスによって設定された永続的な通知を削除しようとしています。
startForeground(1337, notification);
キャンセルに使用しているコード:
NotificationManager nManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nManager.cancel(1337); // cancel existing service notification, doesn't take effect
nManager.cancelAll(); //surpluous, but also doesn't take effect
私がこれを行っている理由を明確にするために:サービスはデフォルトの永続的な通知で開始します。アプリを実行するときは、この通知を別の通知に置き換える必要があります。既存の通知での使用notify()
は完全に機能しますが、新しい通知のティッカーテキストも表示するために必要です。これが、既存の通知を(上記のコードを使用して)削除し、新しい通知を作成してから、もう一度呼び出しstartForeground()
て新しい通知を渡すことにした理由です。これにより、サービスが持続します。