如何防止android快速回复通知卡在加载中?

如何防止android快速回复通知卡在加载中?,android,notifications,android-7.0-nougat,Android,Notifications,Android 7.0 Nougat,我的应用程序使用安卓N新的快速回复功能来快速记录固定通知,而无需用户打开活动 但是,我希望在用户发送快速回复消息后将通知重置为其初始状态,而不必取消通知 这是我的密码: NotificationCompat.Builder builder = new NotificationCompat.Builder(this, Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? createChannel() : "").setSmallIcon(andr

我的应用程序使用安卓N新的快速回复功能来快速记录固定通知,而无需用户打开活动

但是,我希望在用户发送快速回复消息后将通知重置为其初始状态,而不必取消通知

这是我的密码:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this, Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? createChannel() : "").setSmallIcon(android.R.mipmap.sym_def_app_icon).setContentTitle("My Awesome App").setContentText("Doing some work...").setContentIntent(pendingIntent);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            android.support.v4.app.RemoteInput remoteInput = new RemoteInput.Builder(BookmarkCreatorReceiver.TXT_REPLY).setLabel("Reply").build();

            Intent replyIntent = new Intent(this, BookmarkCreatorReceiver.class);
            PendingIntent replyPendingIntent = PendingIntent.getBroadcast(this, 0, replyIntent, 0);

            NotificationCompat.Action action = new NotificationCompat.Action.Builder(android.R.drawable.ic_dialog_email, "Bookmark", replyPendingIntent).addRemoteInput(remoteInput).build();
            NotificationCompat.Action actionQuick = new NotificationCompat.Action.Builder(android.R.drawable.ic_dialog_email, "Quick", replyPendingIntent).build();
            builder.addAction(action);
            builder.addAction(actionQuick);
        }

        startForeground(NOTIFICATION_ID, builder.build());
问题在于,一旦用户发送消息并调用广播接收器,通知将保持如下加载状态:

如何删除加载消息而不必放弃通知?

根据:

处理完文本后,必须使用相同的id和标记(如果使用)调用notify()来更新通知。这是隐藏直接回复UI的触发器,应该用作向用户确认其回复已正确接收和处理的技术

另请注意:

对于大多数模板,这应该包括使用新方法,将回复附加到通知的底部


这可以确保用户看到他们输入的文本被正确处理。

我尝试调用
notify()
,但它给了我一个
IllegalMonitorStateException
,说“对象在notify()之前未被线程锁定”,我如何在通知上调用notify()方法?在UI线程上调用它会产生同样的问题。它们意味着使用相同的
NOTIFICATION\u ID
NotificationCompat.Builder
。太棒了!非常感谢你!确切地说,应该在哪里再打一次电话?我不知道在哪里处理回复事件。