私のアプリでは、バックグラウンドで実行されているサービスがあります。サービスが実行中であることをユーザーに通知したい。しかし、ユーザーが通知を削除できないようにする必要があります-クリアボタンを押すか、通知バーでスワイプします
これは、通知領域の上に通知を表示する必要があることを意味します
私のアプリでは、バックグラウンドで実行されているサービスがあります。サービスが実行中であることをユーザーに通知したい。しかし、ユーザーが通知を削除できないようにする必要があります-クリアボタンを押すか、通知バーでスワイプします
これは、通知領域の上に通知を表示する必要があることを意味します
これは可能ですが、実装方法は開発対象の API レベルによって異なります。
11 未満の API レベルでは、 Notification.FLAG_NO_CLEARを設定できます。これは次のように実装できます。
// Create notification
Notification note = new Notification(R.drawable.your_icon, "Example notification", System.currentTimeMillis());
// Set notification message
note.setLatestEventInfo(context, "Some text", "Some more text", clickIntent);
// THIS LINE IS THE IMPORTANT ONE
// This notification will not be cleared by swiping or by pressing "Clear all"
note.flags |= Notification.FLAG_NO_CLEAR;
11 を超える API レベルの場合、またはAndroid Support Libraryを使用する場合は、次のように実装できます。
Notification noti = new Notification.Builder(mContext)
.setContentTitle("Notification title")
.setContentText("Notification content")
.setSmallIcon(R.drawable.yourIcon)
.setLargeIcon(R.drawable.yourBigIcon)
.setOngoing(true) // Again, THIS is the important line
.build();
削除できない通知を作成するには、setOngoing (true);を使用するだけです。
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_service_launcher)
.setContentTitle("My title")
.setOngoing(true)
.setContentText("Small text with details");
Notification.FLAG_NO_CLEARまたはNotification.FLAG_ONGOING_EVENTのように聞こえますが、探しているものです。