android中12点48小时后删除数据

时间:2015-01-22 05:31:37

标签: android android-alarms

我希望每次晚上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"

1 个答案:

答案 0 :(得分:0)

由于我无法发表评论,我发了一个答案。试试这个:

dayAlarmMgr.setRepeating(
            AlarmManager.RTC_WAKEUP, 
            calendar.getTimeInMillis(),
            AlarmManager.INTERVAL_DAY * 2, 
            dayAlarmIntent);

请注意,您使用绝对时间,将AlarmManager.ELAPSED_REALTIME_WAKEUP替换为AlarmManager.RTC_WAKEUPAlarmManager.ELAPSED_REALTIME_WAKEUP表示设备启动后的时间而不是UTC时间。