重启设备或应用程序从后台终止后取消Android警报管理器

时间:2015-11-19 06:47:09

标签: android alarmmanager alarm

我正在开发一个警报应用程序。当我设置闹钟和重启设备闹钟没有响铃时,它发生在某些特定设备上(xiomi note 4和samsung s5)。

我的注册接收者清单:

 <receiver
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED"
        android:enabled="true"
        android:exported="true"
        android:process=":remote"
        android:name="com.electrovese.alarm.AlarmReceiver.AliveAllAlarmRecever">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="AliveAllAlarmRecever"/>
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>

感谢。

2 个答案:

答案 0 :(得分:0)

那是因为您需要告诉Android设备重启时有一些接收机要运行。您可以这样做:

第1步:创建接收方:

class AlarmRebootReceiver : BroadcastReceiver() {

    override fun onReceive(context: Context?, intent: Intent?) {
        if (intent?.action.equals("android.intent.action.BOOT_COMPLETED")) {
            // oh well, device rebooted. do what you have to do here
    }
}

之后,只需注册即可显示如下:

<receiver android:name=".background.AlarmRebootReceiver"
                  android:enabled="true"
                  android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>

完成!

答案 1 :(得分:-1)

您应该在小米设备的自动启动中检查您的应用程序:

  

设置->权限->自动启动