您的位置:首页 > 移动开发

Android 关于极光推送退出APP时清空通知的问题

2017-08-28 18:26 771 查看
当我们的APP集成完成极光推送之后,我们要求在APP双击退出的同时清除所有的发送过来的通知,极光API

中提供了几种方法:

1、clearAllNotifications

这种方法的作用是清除所有JPush推送的通知,用法也非常的简单:

JPushInterface.clearAllNotifications(this);


但是本人没有用这种方法(没有成功,不清楚咋回事)

我用的下面这种方法。

2、clearNotificationById

这种方法如果用于清除某个特定的通知会很方便,只需要获取到要清除的通知的ID就可以了

JPushInterface.clearNotificationById(this,notifactionId);


但是如果用于通知的全部清除就比较麻烦了,下面是我使用的方法:

(1)先在APP的Application中定义一个List集合,用以存储推送过来的通知的ID:

public static List<Integer> list = new ArrayList<>();


(2)在接收推送的Receiver中将通知的ID存储到Application中的List集合里:

MyApplication.list.add(notifactionId);


(3)在双击退出的地方进行如下代码操作:

for (int i = 0; i < MyApplication.list.size(); i++) {
JPushInterface.clearNotificationById(this,MyApplication.list.get(i));
}


这样同样可以实现通知的全部清除。

注:本人菜鸟一枚,第一种方法没有实现不知道什么原因,欢迎各位大神留言指导。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: