Android:在闹钟期间 - 如果用户锁定屏幕或进入主屏幕 - 如何再次将其恢复?

标签 android android-alarms onpause

所以我面临着一点所谓的漏洞利用/漏洞。 我有一个应用程序可以触发 Activity 并从锁屏唤醒手机并显示警报,一切正常,声音正常,但在少数情况下我会遇到问题: 如果用户单击主页按钮,它只会最小化应用程序,仅此而已,它仍然在后台运行。 如果用户锁定屏幕,警报将静音 - 如果在 10 秒内解锁,它会继续,如果在 10 秒后解锁,它会最小化并在后台运行。

我该如何解决这些问题?你会建议什么方法? 我假设警报 Activity 进入 onPause? 如果是的话,我正在考虑制作新的 Handler 并在 onPause 方法中在 10 秒内唤醒手机,但想知道是否有更好的方法?

最佳答案

我不认为 post a Handler 是个好主意,没有人保证你的 Activity 不会被 Android 系统销毁,然后你的 Handler 将无法工作。

我建议设置一个新的 Alarm(10 秒后),在 onPause() 中运行一个 Service/Broadcast,你可以发送在PindingIntent中设置Alarm的时间。得到那个时间检查它或取消警报

关于Android:在闹钟期间 - 如果用户锁定屏幕或进入主屏幕 - 如何再次将其恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876295/

相关文章:

android - 检查activity的onPause状态是否被锁屏调用

java - 将 XML 文件转换为单个字符串时出现问题

android - Android 中的 3D 轮播

java - 无法从 START_ARRAY 中反序列化 java.lang.String 的实例

android - onPause() : SuperNotCalledException even if super. onPause() 在那里

android - 在 onPause() 内调用 finish() 但在方向改变时不调用

android - Android 12 上的 apk 安装失败

android - 通知抽屉打开后无法继续播放通知声音

java - 如何延迟重复警报的触发(开始时间)?

android - 覆盖现有警报