java - 棉花糖中Android AlarmManager的奇怪问题

标签 java android

我正在制作一个包含闹钟功能的应用程序。为此,我正在使用 AlarmManager 进行测试setExactAndAllowWhileIdle() 与 RTC_WAKEUP 和 BoadcastReceiver 以及 setAlarmClock 一起使用,以便在 Doze 模式下工作。在 Android Pie 中一切工作正常,但当我在 Marshmallow 中测试时,我认为出现了随机延迟,有时甚至无法工作。

今天在我的测试中,我注意到棉花糖(ZTE)中有一个奇怪的行为,如果我在包名称中使用“时钟”一词,突然一切正常。这是一种已知的行为吗?有人可以重现这种行为吗?还有另一种方法可以使用setAlarmClock()而不必使用包中的“时钟”一词吗?

我一直在互联网上查找,唯一类似的东西I found was :

Also I remember that some chinese phones would not kill apps that had the word "alarm" in the package name :-).

编辑:

更正,不是我在包中使用“时钟”一词,而是在 applicationId 中使用, 我认为两者是同一件事。

最佳答案

也许添加权限

<uses-permission `enter code here`android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

并在用户首次安装应用程序时向用户请求,以防他使用的是 Android M 或更高版本

关于java - 棉花糖中Android AlarmManager的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60679229/

相关文章:

java - 从 RPGLE (as400) 调用 java 方法

java - 从 Java 跟踪 native 内存使用情况?

android - Cordova App - 如何检测它是否是同一设备/帐户

java - Firebase 将电子邮件链接到手机 : Cannot create PhoneAuthCredential without verificationProof

android - GoogleAuthUtil.getToken 安全异常

java - 带有 AWS Java SDK 的 JsonErrorUnmarshallerV2 的 NoClassDefFoundError

java - 异常多部分/表单数据请求失败。读取超时

java - 接受对某个方法的所有 HTTP 请求

java - 在 recyclerview 内点击获取数据

java - 如何更改cordova子项目使用的java版本