首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >点击动作后如何解除通知

点击动作后如何解除通知
EN

Stack Overflow用户
提问于 2012-08-09 20:32:08
回答 8查看 121.4K关注 0票数 168

从API级别16 (Jelly Bean)开始,可以使用以下命令向通知添加操作

代码语言:javascript
复制
builder.addAction(iconId, title, intent);

但是,当我向通知中添加一个操作并按下该操作时,该通知不会被驳回。单击通知本身时,可以使用以下命令解除通知

代码语言:javascript
复制
notification.flags = Notification.FLAG_AUTO_CANCEL;

代码语言:javascript
复制
builder.setAutoCancel(true);

但很明显,这与与通知关联的操作无关。

有什么提示吗?或者这还不是API的一部分?我什么也没找到。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-08-09 21:15:23

当您在通知管理器上调用notify时,您为它提供了一个id -这是您以后可以用来访问它的唯一id (来自通知管理器:

代码语言:javascript
复制
notify(int id, Notification notification)

要取消,您可以调用:

代码语言:javascript
复制
cancel(int id)

使用相同的id。因此,基本上,您需要跟踪id,或者可能将id放入您在PendingIntent中添加到Intent的Bundle中?

票数 175
EN

Stack Overflow用户

发布于 2014-02-14 23:36:08

我发现,当你在扩展通知中使用动作按钮时,你必须编写额外的代码,而且你会受到更多的约束。

当用户单击操作按钮时,您必须手动取消通知。仅对默认操作自动取消通知。

此外,如果您从按钮启动广播接收器,通知抽屉也不会关闭。

我最终创建了一个新的NotificationActivity来解决这些问题。这个没有任何UI的中间活动取消通知,然后启动我真正想要从通知开始的活动。

我已经在相关的帖子Clicking Android Notification Actions does not close Notification drawer中发布了示例代码。

票数 19
EN

Stack Overflow用户

发布于 2015-08-02 22:24:08

在我看来,使用BroadcastReceiver是一种更简洁的取消通知的方式:

在AndroidManifest.xml中:

代码语言:javascript
复制
<receiver 
    android:name=.NotificationCancelReceiver" >
    <intent-filter android:priority="999" >
         <action android:name="com.example.cancel" />
    </intent-filter>
</receiver>

在java文件中:

代码语言:javascript
复制
Intent cancel = new Intent("com.example.cancel");
PendingIntent cancelP = PendingIntent.getBroadcast(context, 0, cancel, PendingIntent.FLAG_CANCEL_CURRENT);

NotificationCompat.Action actions[] = new NotificationCompat.Action[1];

NotificationCancelReceiver

代码语言:javascript
复制
public class NotificationCancelReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //Cancel your ongoing Notification
    };
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11883534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档