Java Redmi设备上未触发报警

Java Redmi设备上未触发报警,java,android,alarmmanager,Java,Android,Alarmmanager,我有一个闹钟应用程序。Redmi设备上未触发报警。当应用程序处于后台时,屏幕唤醒锁定和铃声无法正常工作 请查找我使用的报警管理器和唤醒锁代码 (a) (b) 我发现,当我们允许屏幕锁定和允许在后台运行时,应用程序可以工作。是否有任何方法可以为redmi设备添加指定的权限,以便在应用程序处于后台时工作,并实际唤醒屏幕锁定或任何其他解决方案来解决此问题?不幸的是,对于更多的制造商来说,这是真的。(参见dontkillmyapp.com/)你能做的就是检查它是哪部手机,并让他们通过设置将你的应用列入白

我有一个闹钟应用程序。Redmi设备上未触发报警。当应用程序处于后台时,屏幕唤醒锁定和铃声无法正常工作

请查找我使用的报警管理器和唤醒锁代码

(a)

(b)


我发现,当我们允许屏幕锁定和允许在后台运行时,应用程序可以工作。是否有任何方法可以为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
        )