每2天Android触发一次警报

时间:2020-04-15 14:59:39

标签: android

我想设置一个警报,该警报在2天后触发,可以说在特定时间,例如,我将警报设置为上午10:00,我希望它在2天后于上午10:00触发,并在触发后继续触发每2天。到目前为止,我编写了代码,但是在设置了时间和间隔天数之后,我的警报立即就地触发,我的意图是每2天触发一次。下面是我的代码:


        final int hour = alarmTimePicker.getCurrentHour();
        final int minute = alarmTimePicker.getCurrentMinute();
        String hour_string = String.valueOf(hour);
        String minute_string = String.valueOf(minute);
        // 10:8 to 10:08
        if (minute < 10) {
            minute_string = "0" + String.valueOf(minute);
        }
        time = hour_string + ":" + minute_string;

        calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour());
        calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute());


        SharedPreferences pref4 = getSharedPreferences("RequestCode", Activity.MODE_PRIVATE);
        RequestCode = pref4.getString("code", "0");
        if (RequestCode.equals("0")) {
            RequestCode = "2";
        }
        int code = Integer.parseInt(RequestCode);

        Intent intent1 = new Intent(AutoForwarding.this, AlarmReceiver.class);
        intent1.putExtra("requestCode", code);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(AutoForwarding.this, code, intent1, PendingIntent.FLAG_UPDATE_CURRENT);

        AlarmManager am = (AlarmManager) AutoForwarding.this.getSystemService(Context.ALARM_SERVICE);
        //am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
        am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000 * 60 * 60 * 48, pendingIntent);

        code++;
        String rCode = String.valueOf(code);

        SharedPreferences pref3 = getSharedPreferences("RequestCode", MODE_PRIVATE);
        SharedPreferences.Editor ed3 = pref3.edit();
        ed3.putString("code", rCode);
        ed3.apply();
    }

我在做什么错?我认为我在calendar.getTimeInMillis()做错了,但是我不确定该怎么做

0 个答案:

没有答案