1 回答

TA貢獻1891條經(jīng)驗 獲得超3個贊
即使在重新啟動后,AlarmManager 也不會持續(xù)存在。您可以通過創(chuàng)建一個 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再次創(chuàng)建警報。我建議使用需要store alarm info在database或SharedPreferences所以會產(chǎn)生信息創(chuàng)建報警時,裝置完成重啟。
添加回答
舉報