4

特定の日時 (2012 年 12 月 25 日 12.00) にダイアログを表示したいのですが、このコードを使用しています。11月のように設定しました(0はgenであるため)が、アラームが開始されません。私の間違いは何ですか?

Calendar cal=Calendar.getInstance();
    cal.set(Calendar.MONTH,11);
    cal.set(Calendar.YEAR,2012);
    cal.set(Calendar.DAY_OF_MONTH,25);
    cal.set(Calendar.HOUR_OF_DAY,12);
    cal.set(Calendar.MINUTE,00);
    cal.set(Calendar.SECOND,0);

Intent _myIntent = new Intent(context, Notify.class);
    PendingIntent _myPendingIntent = PendingIntent.getBroadcast(context, 123, _myIntent, PendingIntent.FLAG_UPDATE_CURRENT|  Intent.FILL_IN_DATA);

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), _myPendingIntent);  
4

1 に答える 1

8

12 月のアラームを設定する方法については、以下のコードをご覧ください。

// for Alarm 25/12/2012 at 12.00   
Calendar myAlarmDate = Calendar.getInstance();
myAlarmDate.setTimeInMillis(System.currentTimeMillis());
myAlarmDate.set(2012, 11, 25, 12, 00, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

Intent _myIntent = new Intent(context, AlarmReceiverNotificationForEveryMonth.class);
_myIntent.putExtra("MyMessage","HERE I AM PASSING THEPERTICULAR MESSAGE WHICH SHOULD BE SHOW ON RECEIVER OF ALARM");
PendingIntent _myPendingIntent = PendingIntent.getBroadcast(context, 123, _myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, myAlarmDate.getTimeInMillis(),_myPendingIntent);

上記のコードをインテントとクラスで更新すると、希望する出力が得られます。

これがお役に立てば幸いです。

于 2012-12-22T12:33:29.143 に答える