警报管理器不会在flyme os(meizu)上发出任何警报

时间:2018-05-14 15:53:05

标签: android alarmmanager

首先,警报会在其他设备上触发。 问题正好在FlymeOS (它的电池优化,安全功能或类似的东西)。

其次,我尝试了不同的警报setRepeating(), setExact(), setExactAndAllowWhileIdle(),并了解它们之间的区别。结果 - 除了魅族设备以外,所有地方都能很好地运作。

那么我如何才能在魅族上发出这些警报呢?

1 个答案:

答案 0 :(得分:2)

问题在于对魅族的后台流程限制。有3种在后台模式下运行:"允许在后台运行" "智能背景" (这是你的根源)问题)和"禁止在后台运行" 。因此,默认情况下为每个应用设置,因此警报只会启动,现在只启动应用,否则不会。

解决问题"允许在后台运行"应该设置。但是您不能以编程方式执行此操作,因此用户应自行更改此设置。 您所能做的就是为您的应用程序打开魅族安全页面,并致电用户将此设置更改为"允许在后台运行"

    Intent intent = new Intent("com.meizu.safe.security.SHOW_APPSEC");
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.putExtra("packageName", BuildConfig.APPLICATION_ID);

Running in background mode menu