0

DatePickerとTimePickerで設定した時刻に通知するアラームを作りたい

私のコードは次のとおりです。

//Create alarm
                        GregorianCalendar tmpDate=new GregorianCalendar(datePicker.getYear(),datePicker.getMonth(),datePicker.getDayOfMonth());
                        long date=tmpDate.getTimeInMillis();
                        long hour=timePicker.getDrawingTime();
                        long dateTime=date+hour;
                        calendar=new GregorianCalendar();

                        if(dateTime<calendar.getTimeInMillis()){
                            Toast.makeText(getApplicationContext(),"No puedes crear la alarma antes de hoy", Toast.LENGTH_SHORT);
                            return;
                        }

AlarmManager alm=(AlarmManager)getSystemService(ALARM_SERVICE);
        alm.set(AlarmManager.RTC_WAKEUP, dateTime,mAlarmSender);    

現在の時刻に 5 秒を追加しようとすると動作しますが、日付と時刻のピッカーから時刻を設定しても通知されません。

4

1 に答える 1

0

timePicker.getDrawingTime()timePicker で設定された時刻を返しません。を使用する必要がある設定時間を取得するには(この例onTimeSetListener()も参照してください)

他のすべてが正しく行われたかどうかを確認するには、次のようにアラームを設定する前に取得した日付を記録できます。

Log.d("test", "Current time is "+new Date().toLocaleString();
Log.d("test", "Date is "+new Date(dateTime).toLocaleString();
于 2012-05-02T07:35:35.887 に答える