Android: AlarmManager 会在关闭后被杀死吗
Android: Will AlarmManager gets killed after shutdown
我想知道我设置的闹钟在我关闭设备后是否会被破坏,或者它会保存日程状态并在用户重新打开设备时直接广播,只要预定的时间是在当前时间之前。
关机后会销毁。您应该实现一个 RECEIVE_BOOT_COMPLETED 广播接收器。通过这种方式,您将在设备关闭时在您的接收器中再次设置您的警报管理器。
当设备重新启动时获得警报管理器destroyed.you需要在启动完成后重新注册警报管理器
在您的清单中添加此权限
<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;
}
}
}
}
Android: AlarmManager
会在关机后被杀死吗?
回答:是
只要预定时间早于当前时间,当用户重新打开设备时,是否会保存预定状态并立即播放?
回答:否
解决方案:在 BOOT_COMPLETED
广播
上重新注册 AlarmManager
我想知道我设置的闹钟在我关闭设备后是否会被破坏,或者它会保存日程状态并在用户重新打开设备时直接广播,只要预定的时间是在当前时间之前。
关机后会销毁。您应该实现一个 RECEIVE_BOOT_COMPLETED 广播接收器。通过这种方式,您将在设备关闭时在您的接收器中再次设置您的警报管理器。
当设备重新启动时获得警报管理器destroyed.you需要在启动完成后重新注册警报管理器
在您的清单中添加此权限
<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;
}
}
}
}
Android: AlarmManager
会在关机后被杀死吗?
回答:是
只要预定时间早于当前时间,当用户重新打开设备时,是否会保存预定状态并立即播放?
回答:否
解决方案:在 BOOT_COMPLETED
广播
AlarmManager