我想在我第一次启动应用时才创建通知。然后通知是持久的,所以如果我点击它,它会启动应用程序,但不会消失。
但是因为我在活动的onCreate()中创建了通知,所以每次点击通知时,都会创建一个新通知。
我该怎样防止这种情况?有没有办法检查当前通知是否正在运行?
@Override
protected void onCreate(Bundle savedInstanceState) {
Notification.Builder mBuilder =
new Notification.Builder(this)
.setSmallIcon(R.drawable.not_norm_icon)
.setContentTitle("test")
.setContentText("test");
Intent resultIntent = new Intent(this,MainActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
Notification n = mBuilder.build();
n.flags |= Notification.FLAG_NO_CLEAR;
if (mNotificationManager != null) {
mNotificationManager.notify(mNotificationId, n);
}}
答案 0 :(得分:1)
您可以通过添加此行来清除点击通知
mBuilder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;