Java Redmi设备上未触发报警
我有一个闹钟应用程序。Redmi设备上未触发报警。当应用程序处于后台时,屏幕唤醒锁定和铃声无法正常工作 请查找我使用的报警管理器和唤醒锁代码 (a) (b)Java Redmi设备上未触发报警,java,android,alarmmanager,Java,Android,Alarmmanager,我有一个闹钟应用程序。Redmi设备上未触发报警。当应用程序处于后台时,屏幕唤醒锁定和铃声无法正常工作 请查找我使用的报警管理器和唤醒锁代码 (a) (b) 我发现,当我们允许屏幕锁定和允许在后台运行时,应用程序可以工作。是否有任何方法可以为redmi设备添加指定的权限,以便在应用程序处于后台时工作,并实际唤醒屏幕锁定或任何其他解决方案来解决此问题?不幸的是,对于更多的制造商来说,这是真的。(参见dontkillmyapp.com/)你能做的就是检查它是哪部手机,并让他们通过设置将你的应用列入白
我发现,当我们允许屏幕锁定和允许在后台运行时,应用程序可以工作。是否有任何方法可以为redmi设备添加指定的权限,以便在应用程序处于后台时工作,并实际唤醒屏幕锁定或任何其他解决方案来解决此问题?不幸的是,对于更多的制造商来说,这是真的。(参见dontkillmyapp.com/)你能做的就是检查它是哪部手机,并让他们通过设置将你的应用列入白名单。(白名单的设置和位置可能因设备而异)您好@Giorgosnokleus我已尝试为应用程序添加自动启动权限,但仍然存在无法执行此操作的问题,您必须请求白名单。@Giorgosnokleus如何做?在设置中添加电池优化?
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
alarmManager.setExactAndAllowWhileIdle(
AlarmManager.RTC_WAKEUP,
alarmTime,
operation
)
} else {
alarmManager.setExact(
AlarmManager.RTC_WAKEUP,
alarmTime,
operation
)
val wakeLock = pm.newWakeLock(
PowerManager.SCREEN_BRIGHT_WAKE_LOCK or PowerManager.FULL_WAKE_LOCK or PowerManager.ACQUIRE_CAUSES_WAKEUP,
"a:TAG"
)
if (Build.VERSION.SDK_INT >= 27) {
setShowWhenLocked(true)
setTurnScreenOn(true)
}
wakeLock.acquire(10 * 60 * 1000L /*10 minutes*/)
window.addFlags(
LayoutParams.FLAG_SHOW_WHEN_LOCKED or
LayoutParams.FLAG_DISMISS_KEYGUARD or
LayoutParams.FLAG_KEEP_SCREEN_ON or
LayoutParams.FLAG_TURN_SCREEN_ON
)