我想在按下某个操作按钮时忽略我的通知,但我使用的PendingIntents是不可更改的。我可以将待处理的意图捆绑在一起,以便可以触发一个意图而另一个意图可以解除我的通知吗?
详细说明:
我的通知有3个操作按钮(reply, like, share
)。这些操作按钮中只有1个(like
)具有PendingIntent,该PendingIntent会进入我自己的应用程序。
其他2个PendingIntents(reply and share
)完全被另一个应用程序接收(我无法访问其原始的Intent数据,因为我从其他应用程序的通知中复制了待处理的意图)
我希望能够在按下回复和分享操作时解除我的通知,但他们当前的PendintIntents
会打开各自的应用。我怎么能两个都做?
答案 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获取它时重新广播它。