尽管该设备已重新启动,但仍会收到警报

时间:2016-03-22 11:56:29

标签: android

我想制作一个闹钟。我已经完成了它但它只在设备没有重新启动时才有效。如果是这样我就不会得到任何警报。无论设备是否已重启,我该怎么办才能收到警报? 这就是我设置闹钟时间的方式:

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,calendar1.getTimeInMillis(),pi1);

1 个答案:

答案 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