我希望每次晚上12点之后48小时后从数据库中删除记录,我已将闹钟设置如下,但它根本没有起火,我做错了什么?
dayAlarmMgr= (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent alramIntent = new Intent(this,SyncAlaram.class);
alramIntent.setAction(SyncAlaram.WIPE_REPORT_DATA);
dayAlarmIntent = PendingIntent.getBroadcast(this, 0, alramIntent, 0);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR, 12);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);
dayAlarmMgr.setRepeating(
AlarmManager.ELAPSED_REALTIME_WAKEUP,
calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY * 2,
dayAlarmIntent);
细节
Platform Android 4.0 and above
android:minSdkVersion="11"
android:targetSdkVersion="19"
答案 0 :(得分:0)
由于我无法发表评论,我发了一个答案。试试这个:
dayAlarmMgr.setRepeating(
AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY * 2,
dayAlarmIntent);
请注意,您使用绝对时间,将AlarmManager.ELAPSED_REALTIME_WAKEUP
替换为AlarmManager.RTC_WAKEUP
。 AlarmManager.ELAPSED_REALTIME_WAKEUP
表示设备启动后的时间而不是UTC时间。