Android 8.0(API レベル 26)以降、通知バッジ(別名) 通知ドット - 関連付けられているアプリに 通知を受け取れます。ユーザーができること タップ&アプリアイコンを長押しすると、通知、 アプリのショートカット: 図 1.
これらのドットは、対応するランチャー アプリでデフォルトで表示されます。また、 何もする必要はありません。ただし、 通知ドットを表示したくない場合や、 どの通知を表示するかを指定できます
バッジを無効にする
通知にバッジが適さない場合があるため、
次の呼び出しによって、チャネルごとに無効にできます。
setShowBadge(false)
NotificationChannel
渡されます。
たとえば、次のように通知バッジを無効にできます。 次のような状況になります。
- 進行中の通知: 画像の処理、 メディアの再生コントロール、または現在のナビゲーションの指示が意味をなさない バッジとして表示できます。
- カレンダーのリマインダー: 現在の時刻に発生している予定にバッジを付けないでください。
- 時計またはアラームのアクティビティ: 現在のアラームに関連するバッジ通知を表示しないようにします。
次のサンプルコードは、 通知チャンネル:
Kotlin
val id = "my_channel_01" val name = getString(R.string.channel_name) val descriptionText = getString(R.string.channel_description) val importance = NotificationManager.IMPORTANCE_LOW val mChannel = NotificationChannel(id, name, importance).apply { description = descriptionText setShowBadge(false) } val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannel(mChannel)
Java
String id = "my_channel_01"; CharSequence name = getString(R.string.channel_name); String description = getString(R.string.channel_description); int importance = NotificationManager.IMPORTANCE_LOW; NotificationChannel mChannel = new NotificationChannel(id, name, importance); mChannel.setDescription(description); mChannel.setShowBadge(false); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.createNotificationChannel(mChannel);
カスタム通知件数を設定する
デフォルトでは、通知ごとにタッチ操作時に表示される数字が 1 つずつ増えます保留 この数は図 1 のようにオーバーライドできますが、アプリでこの数をオーバーライドすることもできます。 これは、たとえば、1 つの通知だけを使用して 複数ある新規メッセージを 1 回ずつカウントし、 新着メッセージの合計数。
カスタム番号を設定するには、
setNumber()
通知が表示されます。
Kotlin
var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setNumber(messageCount) .build()
Java
Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setNumber(messageCount) .build();
通知のタップと変更を変更するメニュー アイコンを長押しします
タッチと長押しメニューには、リソースに関連付けられた大小の
通知が表示されます。デフォルトでは大きなアイコンが表示されますが、
呼び出して
Notification.Builder.setBadgeIconType()
BADGE_ICON_SMALL
を渡します。
定数を使用して小さなアイコンを表示します。
Kotlin
var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL) .build()
Java
Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL) .build();
重複しているショートカットを非表示にする
アプリのショートカットを複製する通知をアプリで作成する場合は、次の方法があります。
通知が有効になっている間は、
setShortcutId()
。
通知を使用するその他のサンプルコードについては、People サンプルをご覧ください。