○やりたいこと
Notificationで通知が来た際に、通知をタップしてアプリを開くと通知アイコンが消えるが、
アプリをタップしてアプリを開いた時に通知アイコンを消したい
○課題(困っていること)
通知が来ている時に、アプリをタップして、アプリを開いた時に、通知アイコンが消えない
本件、改善の仕方を教えていただけないでしょうか。
MyNotification
1class MyNotification() { 2 companion object { 3 private const val NOTIFICATION_CHANNEL_ID = "com.example.sample_alarm_manager_channel_id" 4 private const val NOTIFICATION_CHANNEL_NAME = "Time for xxxxx!!" 5 private const val NOTIFICATION_CHANNEL_DESCRIPTION = "Go To The xxxxx" 6 private const val NOTIFICATION_TITLE = "Alert" 7 private const val NOTIFICATION_MESSAGE = "Time For xxxxxx" 8 9 fun sendNotification(context: Context) { 10 val channelId = Companion.NOTIFICATION_CHANNEL_ID //通知チャネルの識別ID 11 val channelName = Companion.NOTIFICATION_CHANNEL_NAME //表示される通知チャネル名 12 val channelDescription = Companion.NOTIFICATION_CHANNEL_DESCRIPTION // 13 14 //Android 8.0 以上ではアプリの通知チャンネルを登録することが必要。 15 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 16 //通知チャネルと、通知情報に関するデータを格納したNotification オブジェクトを管理するクラス 17 val importance = NotificationManager.IMPORTANCE_DEFAULT //通常オンのみ 18 //通知方法に関するデータをチャンネル毎にまとめて管理する 19 val channel = NotificationChannel(channelId, channelName, importance).apply { 20 description = channelDescription 21 } 22 val manager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager 23 manager.createNotificationChannel(channel) 24 } 25 26 //Notification通知後の 戻り先を指定 27 val intent2: Intent = Intent(context, AlarmActivity::class.java).apply { 28 flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK 29 } 30 val pendingIntent: PendingIntent = PendingIntent.getActivity(context, 0, intent2, 0) 31 32 //通知のコンテンツ作成 33 val builder = NotificationCompat.Builder(context, channelId).apply { 34 setSmallIcon(R.drawable.ic_baseline_info_24) //小さなアイコン 35 setContentTitle(Companion.NOTIFICATION_TITLE) //タイトル 36 setContentText(Companion.NOTIFICATION_MESSAGE) //本文 37 priority = NotificationCompat.PRIORITY_DEFAULT //通知の優先度 38 setContentIntent(pendingIntent) //通知との紐づけをするためにpendingIntentを渡す 39 setAutoCancel(true) //通知を開いたら通知を削除 40 setDefaults(Notification.DEFAULT_ALL) //通知が来た時、発音や振動させる 41 } 42 43 val id = 0 44 NotificationManagerCompat.from(context).notify(id, builder.build()) 45 } 46 } 47 48}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/15 05:21
2021/11/15 08:09