我正在我的应用程序中实现GCM,并保留通知的哈希值以跟踪通知栏中的内容(我必须根据用户是否在应用内更改意图)。
我为所有的通知设置了deleteIntent PendingIntent。这只是从我的本地哈希中删除通知,使其不会再更新。如果我清除所有通知或滑动删除通知,该意图可以正常触发。但是,我还将我的通知设置为自动取消。点击通知不会触发我的通知的deleteIntent。
我的问题是,有没有办法在我的通知被自动取消时收到通知?
我正在我的应用程序中实现GCM,并保留通知的哈希值以跟踪通知栏中的内容(我必须根据用户是否在应用内更改意图)。
我为所有的通知设置了deleteIntent PendingIntent。这只是从我的本地哈希中删除通知,使其不会再更新。如果我清除所有通知或滑动删除通知,该意图可以正常触发。但是,我还将我的通知设置为自动取消。点击通知不会触发我的通知的deleteIntent。
我的问题是,有没有办法在我的通知被自动取消时收到通知?
这个问题已经被报告了,但看起来它似乎没有得到任何调查。为了解决这个问题,我做了以下操作:
例如:
Notification.Builder builder = new Notification.Builder(context)
// Set other properties (not auto-cancel)
.setContentIntent(PendingIntent.getBroadcast(context, 0, new Intent(NOTIFICATION_CLICKED_ACTION), 0))
.setDeleteIntent(PendingIntent.getBroadcast(context, 0, new Intent(NOTIFICATION_DELETED_ACTION), 0));
notificationManager.notify(NOTIFICATION_ID, builder.build());
if (intent.getAction().equals(NOTIFICATION_CLICKED_ACTION)) {
startActivity(new Intent(context, MyActivity.class));
notificationManager.cancel(NOTIFICATION_ID);
}
// Do deletion behaviour here (for both click and delete actions)
notificationManager
:NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
- olfek只有当用户通过滑动或使用通知菜单的“全部清除”功能明确清除通知时,才会调用DeleteIntent。即使将AutoCancel设置为True,点击通知也仅触发ContentIntent。提供一个PendingIntent,用于在用户明确清除通知时发送。