Android:如何在不同的活动中访问待处理的意图?

发布于 2024-12-25 11:25:17 字数 413 浏览 2 评论 0原文

我正在活动 A 中使用 PendingIntent 设置 AlarmManager。 然后我希望能够从不同的 Activity B 中的同一个 PendingIntent 上调用 cancel()

。Android 文档说明如下:

“如果创建应用程序稍后重新检索相同类型的 PendingIntent(相同的操作、相同的 Intent 操作、数据、类别和组件以及相同的标志),如果仍然存在,它将收到表示相同令牌的 PendingIntent有效,因此可以调用 cancel() 来删除它。”

是否可以将 PendingIntent 存储在数据库中 并从不同的活动中检索它?

I am setting up AlarmManager with a PendingIntent in activity A.
Then I would like to be able to call cancel() on the same PendingIntent from a different activity B.

The Android documentation says the following:

"If the creating application later re-retrieves the same kind of PendingIntent (same operation, same Intent action, data, categories, and components, and same flags), it will receive a PendingIntent representing the same token if that is still valid, and can thus call cancel() to remove it."

Is it possible to store a PendingIntent in a database
and retrieve it from a different activity?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

要走就滚别墨迹 2025-01-01 11:25:17

如果您没有以动态方式创建 PendingIntent,那么您只需要以相同的方式创建它。

我建议创建一个单例来创建和传递您的 PendingIntent。这样,您就可以从应用程序中的任何位置调用类似的内容:

PendingIntent pi = PendingIntentHelper.getInstance().buildPendingIntent();
am.cancel(pi);

If you are not creating your PendingIntent in a dynamic way, then you just need to create it the same way.

I would recommend creating a singleton that will create and deliver your PendingIntent. That way, you could call something like this from anywhere in your application:

PendingIntent pi = PendingIntentHelper.getInstance().buildPendingIntent();
am.cancel(pi);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文