1

次のコードを使用して、特定の日時にアラームを設定しています。

mCalendar.setTimeInMillis(System.currentTimeMillis());
mCalendar.set(Calendar.YEAR, 2013);
mCalendar.set(Calendar.MONTH, 0);
mCalendar.set(Calendar.DAY_OF_MONTH, 16);
mCalendar.set(Calendar.HOUR_OF_DAY, 1);
mCalendar.set(Calendar.MINUTE, 30);
mCalendar.set(Calendar.SECOND, 0);
mCalendar.set(Calendar.MILLISECOND, 0);
new ReminderManager(this).setReminder(info.id, mCalendar);

ReminderManager.setReminder機能は次のとおりです。

public void setReminder(Long taskId, Calendar when) 
{       
    Intent i = new Intent(mContext, OnAlarmReceiver.class);
    i.putExtra(DataBaseHelper.KEY_ROWID, (long)taskId);
    PendingIntent pi = PendingIntent.getBroadcast (mContext,0,i,PendingIntent.FLAG_ONE_SHOT);
    mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi); 
}

指定した時間ではなく、アプリの「リマインダーを入れる」メニュー項目を押すと、アラームが鳴ります。

4

1 に答える 1

2

日付が将来であることは確かですか?

私はそれを確認していませんが、過去にアラームを設定しようとした場合、これは設計された動作である可能性があります...

2013-JAN-16 1:30私にとって過去のように見えます(少なくとも私のタイムゾーンでは)。

于 2013-01-16T13:53:40.397 に答える