我通过重复使用相同的通知构建器来通知我正在尝试更新,但是无法清除按钮,您只能调用addAction
。不使用相同的Builder会导致通知闪烁,这是不可取的。这有什么解决方案吗?我正在使用v4支持库中的NotificationCompat
。
答案 0 :(得分:4)
notificationBuilder.mActions.clear();
它实际上是public ArrayList<Action>
,所以你可以随心所欲地使用它。
答案 1 :(得分:0)
您有两种方法可以实现这一目标:
try {
//Use reflection to remove all old actions
Field f = mNotificationBuilder.getClass().getDeclaredField("mActions");
f.setAccessible(true);
f.set(mNotificationBuilder, new ArrayList<>());
}
catch (NoSuchFieldException e) {}
catch (IllegalAccessException e) {}
为例......或者更改按钮的文本...... 使用反射清除构建器操作。会像下面这样工作:
equals()