我可以在通知操作中捆绑多个PendingIntents吗?

时间:2014-03-13 21:13:22

标签: android notifications android-notifications android-pendingintent

我想在按下某个操作按钮时忽略我的通知,但我使用的PendingIntents是不可更改的。我可以将待处理的意图捆绑在一起,以便可以触发一个意图而另一个意图可以解除我的通知吗?

详细说明:

我的通知有3个操作按钮(reply, like, share)。这些操作按钮中只有1个(like)具有PendingIntent,该PendingIntent会进入我自己的应用程序。

其他2个PendingIntents(reply and share)完全被另一个应用程序接收(我无法访问其原始的Intent数据,因为我从其他应用程序的通知中复制了待处理的意图)

我希望能够在按下回复和分享操作时解除我的通知,但他们当前的PendintIntents会打开各自的应用。我怎么能两个都做?

1 个答案:

答案 0 :(得分:0)

由于PendingIntent实现了Parcelable,因此您应该能够在按下按钮时将PendingIntents存储在您发送给活动的Intent中。

例如:

Intent intent = new Intent(context, MyClass.class);
Bundle pendingIntentBundle = new Bundle();
pendingIntentBundle.putParcelable("pintent", pendingIntent);
intent.putExtra("pintent", pendingIntentBundle);
PendingIntent pendingIntent = PendingIntent.getBroadcast(spaContext, 0, intent, 0);

然后获取捆绑包和待定意图,并在MyClass获取它时重新广播它。