更改通知上的操作按钮

时间:2013-09-04 01:55:36

标签: android notifications android-notifications

我通过重复使用相同的通知构建器来通知我正在尝试更新,但是无法清除按钮,您只能调用addAction。不使用相同的Builder会导致通知闪烁,这是不可取的。这有什么解决方案吗?我正在使用v4支持库中的NotificationCompat

2 个答案:

答案 0 :(得分:4)

notificationBuilder.mActions.clear();

它实际上是public ArrayList<Action>,所以你可以随心所欲地使用它。

答案 1 :(得分:0)

您有两种方法可以实现这一目标:

  1. 使用自定义布局(如果需要,只需复制本机通知的设计),然后在RemoteView中使用它,只显示视图或隐藏它们。以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) {} 为例......或者更改按钮的文本......
  2. 使用反射清除构建器操作。会像下面这样工作:

    equals()