0

私の繰り返しアラームは、時間に関係なく日曜日に初めて開始されます(過去の場合)ここに問題があります。次の日曜日のアラームは正しく繰り返されます。次の日曜日からアラームを開始したい..これは私のコードです:

 AlarmManager alarmMgr = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);

            Intent intent = new Intent(activity, Alarm.class);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(activity, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);


            Calendar calendarStart = Calendar.getInstance();

            calendarStart.set(Calendar.DAY_OF_WEEK, 1 );
            calendarStart.set(Calendar.HOUR_OF_DAY,8);
            calendarStart.set(Calendar.YEAR,calendarStart.get(Calendar.YEAR));              
            calendarStart.set(Calendar.MINUTE, 0);
            calendarStart.set(Calendar.SECOND, 0);

            Toast.makeText(activity, calendarStart.getTime()+"",Toast.LENGTH_LONG).show();



            alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendarStart.getTimeInMillis() ,24*60*60*1000, pendingIntent);
4

1 に答える 1

1

私の繰り返しアラームは、時間に関係なく日曜日に初めて開始します(過去の場合)

calendarStart過去であるかどうか、および7日追加されているかどうかを確認します。

if(calendarStart.compareTo(Calendar.getInstance()) < 0) { 
    // calendarStart is in the past, use next Sunday
    calendarStart.add(Calendar.DAY_OF_YEAR, 7);
}

Toast.makeText(activity, calendarStart.getTime()+"",Toast.LENGTH_LONG).show();
于 2013-02-12T20:22:50.580 に答える