0

我已经为我的应用程序使用普通的 GregorianCalendar 开发了提醒应用程序。我使用 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 来进行此操作...

4

1 回答 1

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>
于 2012-11-05T05:59:41.180 回答