在Android中使用CalendarView提醒应用程序

时间:2012-11-05 05:43:07

标签: android android-alarms android-calendar

我已经为我的应用程序使用普通的GregorianCalendar开发了Reminder应用程序。我使用DatePicker和TimePicker创建提醒..

当达到提醒时间时,将启动警报并启动一个警报消息。我已经使用以下代码进行此过程..

Intent i = new Intent("android.intent.action.DA");
operation = PendingIntent.getActivity(getBaseContext(),0,i,Intent.FLAG_ACTIVITY_NEW_TASK);
alarmManager = (AlarmManager) getBaseContext().getSystemService(ALARM_SERVICE);
calendar = new GregorianCalendar(y, m, d,hr, mi);
alarm_time = calendar.getTimeInMillis();
alarmManager.set(AlarmManager.RTC_WAKEUP,alarm_time,operation);

在此我已经为警报过程创建了一个意图..

通过使用alarmManager.set(AlarmManager.RTC_WAKEUP,alarm_time,operation);行,我可以捕获当前的警报/提醒..

我无法获得任何过去时间的提醒,而我已经关闭了我的平板电脑并在很长一段时间后开启..

我没有看到那段时间的提醒。我怎么能纠正这个问题...

并建议使用CalendarView选项而不是使用DatePicker和TimePicker进行此操作...

1 个答案:

答案 0 :(得分:2)

关闭手机后,您的所有自定义闹钟都会被删除,为了解决此问题,您需要在应用中添加启动权限,无论何时重启手机,都会执行BroadCastReciever,您可以再次设置已保存的闹钟,如果超过报警时间,则所有待处理的报警将自动继续。

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name=".YourReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>