我想制作一个闹钟。我已经完成了它但它只在设备没有重新启动时才有效。如果是这样我就不会得到任何警报。无论设备是否已重启,我该怎么办才能收到警报? 这就是我设置闹钟时间的方式:
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,calendar1.getTimeInMillis(),pi1);
答案 0 :(得分:0)
这是我在类似情况下尝试过的:
让您的广播接收器检测到系统重启。现在,只要系统重新启动,您的广播接收器就会检测到它并且您可以执行任务。就像在我的项目中一样,我在我的SQLite数据库上运行了一个查询并检索了所有未执行的警报,然后根据我的要求执行它们并用相同的数据更新数据库。
你可以尝试类似的东西。
检索警报的代码:
使用以下属性添加广播接收器:
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
此BroadcastReceiver将检测您的Android设备重启并执行BroadcastReceiver的onReceive()方法。在onReceive()方法中,根据您的条件检索所有警报,然后进一步处理它们。
要进一步了解如何从SQLite数据库中检索记录或元组,请访问以下链接:
http://developer.android.com/training/basics/data-storage/databases.html#ReadDbRow