我正在制作一个包含闹钟功能的应用程序。为此,我正在使用AlarmManager setExactAndAllowWhileIdle()和RTC_WAKEUP和BoadcastReceiver以及setAlarmClock进行测试,以便在Doze中工作。一切在Android Pie中都可以正常运行,但是当我在棉花糖中进行测试时,我会出现随机延迟,有时甚至无法正常工作。

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

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


我还记得一些中国手机不会杀死那些
软件包名称中的“警报”一词:-)。


编辑:

更正不是在软件包中使用“ clock”一词,而是在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/

10-11 22:10