Android:关闭后AlarmManager会被杀死

时间:2016-05-02 05:06:20

标签: android alarmmanager shutdown schedule

我想知道在关闭设备后我设置的闹钟是否会被破坏,或者当用户重新启动设备时,只要预定的时间在设备之前,它就会保存计划的状态并直接播放当前时间。

3 个答案:

答案 0 :(得分:2)

当设备重新启动时,警报管理器会被破坏。您需要在启动完成后重新注册警报管理器

在清单中添加此权限

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

和广播

<receiver
    android:name="your package name.MyBroadcast "
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

创建广播接收器

public class MyBroadcast extends BroadcastReceiver {

private static final String LOG_TAG = "MyBroadcast ";

public MyBroadcast () {
}

@Override
public void onReceive(Context context, Intent intent) {

    if (intent != null) {
        String action = intent.getAction();

        switch (action) {
            case Intent.ACTION_BOOT_COMPLETED:

               // Register your alarm manager here

                break;
            default:
                break;
        }
    }
}

}

答案 1 :(得分:1)

Android:关机后会AlarmManager被杀吗?

答案:是

只要预定时间在当前时间之前,当用户重新开启设备时,它会保存时间表的状态并直接播出吗?

答案:否

解决方案:在AlarmManager广播

上重新注册BOOT_COMPLETED

答案 2 :(得分:0)

关机后它将被销毁。你应该实现一个RECEIVE_BOOT_COMPLETED广播接收器。这样,当设备关闭时,您将在接收器中再次设置AlarmManager。