android - 待定 Intent 类型和警报管理器

标签 android android-intent alarmmanager

我想设置一个只触发一次的闹钟。

有一个名为 OneShot 的 pendingintent 标志。看起来这将是正确的标志。

但是我需要使用那个标志吗?如果我使用 AlarmManager.SetTime(),则它不应重复。

OneShot 提供什么?

最佳答案

我认为您是在询问通过 AlarmManager.set 安排一次闹钟之间的区别(不是 setTime?)和 PendingIntent.FLAG_ONE_SHOT 的使用.

首先要了解 PendingIntent 是一个许可,可以在未来某个时间点充当您的应用程序并允许您使用您的应用程序。来自 PI 文档:“返回的对象可以交给其他应用程序,以便它们可以在以后代表您执行您描述的操作。”

如果您只使用 AlarmManager.set 一次,那么是的,您的 PendingIntent 只会被触发一次,但无论捕获什么它都可以使用它不止一次,除非你用“一次”标志发送它。现在,如果“捕获它的任何东西”也是您自己的应用程序,那么这可能没什么大不了的(您不太可能滥用 future 的自己;))。不过,如果它是一个您认为只应使用一次的 PendingIntent,那么继续使用 one shot 标志可能更安全。

总结一下差异,设置 FLAG_ONE_SHOT 发送使用 PI 的权限 仅使用 PI 一次,而不是仅使用 AlarmManager< 触发一次。报警多少次,PI的权限是多少,是两个不同的东西。

关于android - 待定 Intent 类型和警报管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17490012/

相关文章:

java - onPostExecute 不允许我创建 Toast 消息

android - 如何从我的自定义图库中删除图像,然后刷新图库

android - 无法通过 Intent 播放视频

android - 未能以隐含的 Intent 开始 Activity

java - 如何保存用户选择的 Intent ?

java - AlarmManager 没有在正确的时间关闭

java - Android闹钟应用程序使用时间选择器来选择时间和 Intent

javascript - Fancybox 按钮在手机上太小(无响应的网站)

android - 有多少 Android 设备受益于 Libjpeg-turbo 优化?

Android:使用 AlarmManager 设置定期警报