簡體   English   中英

如何清除通知操作點擊的通知?

[英]How to clear notification on notification action click?

我正在開發一個 android 應用程序,我在其中顯示帶有操作的通知。 但是在操作點擊通知未清除時,它卡在那個陰影中。 如何清除操作點擊通知?

我的代碼

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
Intent intent = new Intent(this, SettingsActivity.class);
PendingIntent openSettingsActivity = PendingIntent.getActivity(this,1, intent, PendingIntent.FLAG_CANCEL_CURRENT);
notificationBuilder.addAction(R.drawable.ic_notification_button, "Settings", openSettingsActivity);
notificationBuilder.setPriority(Notification.PRIORITY_MAX);
notificationBuilder.setDefaults(Notification.DEFAULT_VIBRATE);
notificationBuilder.setContentTitle(title);
                notificationBuilder.setContentText(text);
                notificationBuilder.setAutoCancel(true);
                notificationBuilder.setColor(color);
                notificationBuilder.setSmallIcon(R.drawable.ic_notification);
                notificationBuilder.setContentIntent(openSettingsActivity);
                final NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1,notificationBuilder.build());

隱藏通知應該在發送意圖的地方處理。 在您當前的代碼中:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
Intent intent = new Intent(this, SettingsActivity.class);
intent.putExtra("hide_notification", true); //add boolean to check later in activity if it should remove notification on activity create

並在您的活動中像這樣,檢查它是否應該刪除通知:

 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //check for notification remove
        boolean hideNotification = getIntent().getBooleanExtra("hide_notification", false);
        if (hideNotification) {
            NotificationManagerCompat nmc = NotificationManagerCompat.from(this);
            nmc.cancel(1); //1 - is your notification id
        }
    }

取決於你想要什么,也許最好不要在onCreate()而是在onStart()調用它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM