1 回答
TA贡献1891条经验 获得超3个赞
即使在重新启动后,AlarmManager 也不会持续存在。您可以通过创建一个 BroadCastReceiver 来使 AlarmManager 在重新启动后工作,该 BroadCastReceiver 将在设备启动完成时启动警报。
使用<action android:name="android.intent.action.BOOT_COMPLETED" />在广播接收器类诱捕启动活动。
您需要在 AndroidManifest.xml 中添加上一行,如下所示,
<receiver android:name=".StartUpReceiver" android:enabled="true" android:exported="false" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
类 StartUpReceiver
public class StartUpReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
////// reset your alrarms here
}
}
}
在StartUpReceiver你可以AlarmManager再次创建警报。我建议使用需要store alarm info在database或SharedPreferences所以会产生信息创建报警时,装置完成重启。
添加回答
举报