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