2011-01-30 3 views
0

ユーザーがチェックボックスをオンにするとアラームが鳴ります。ここに私のコードは次のとおりです。Androidのカレンダーは常に同じ日付です

if (cb1.isChecked()) 
    { 
     Calendar calA = Calendar.getInstance(); 
     //calA.set(Calendar.YEAR, Calendar.YEAR); 
     //calA.set(Calendar.MONTH, Calendar.MONTH); 
     //calA.set(Calendar.DAY_OF_MONTH, Calendar.DAY_OF_MONTH); 
     calA.set(Calendar.HOUR_OF_DAY, Calendar.HOUR_OF_DAY); 
     calA.set(Calendar.MINUTE, Calendar.MINUTE); 
     calA.set(Calendar.SECOND, Calendar.SECOND); 
     calA.set(Calendar.MILLISECOND, Calendar.MILLISECOND); 
     alarmManager.set(AlarmManager.RTC_WAKEUP, calA.getTimeInMillis(), pendingIntentA); 
     Toast.makeText(main.this, "Set time: " + String.valueOf(calA.getTime()), Toast.LENGTH_SHORT).show(); 
    } 

その他のコードが正常に動作している、と私は特定のものに時間と分を設定している場合、

calA.set(Calendar.HOUR_OF_DAY, 15); 
calA.set(Calendar.MINUTE, 24); 

のように、それは働いていますが、このコードで私はいつもこのトーストを取得しますメッセージ: 土3月5日十一時12分00秒または土3月5日午前11時12分13秒 (日付や時間もないが良いです)

私のコードが間違っていますか?

+0

OKです。私はこれを試した:\t \tカレンダー今= Calendar.getInstance(); \t \t alarmManager.set(AlarmManager.RTC_WAKEUP、now.getTimeInMillis()、pendingIntentA); – erdomester

答えて

1

Calendar.HOUR_OF_DAYは定数であり、整数である。もしあなたが実際にある

calA.set(Calendar.HOUR_OF_DAY, Calendar.HOUR_OF_DAY); 

はどんな数に一日の時間を設定

は、この定数のために選ばれたことを起こります。この値は時刻との関係で本当の意味を持たないため、ガベージ結果が生成されます。

カレンダーを取得すると、それは現在の時刻に設定され、デフォルトでですので、それはあなたが行っているものだならば、単に時間を設定しない:

ロケールに依存する他のクラスと同様に、 Calendarは、この型の一般的に有用なオブジェクトを取得するためのクラスメソッドgetInstanceを提供します。あなたは「未来への5分」のような時間を設定したい場合は

Calendar rightNow = Calendar.getInstance(); 

、何かの操作を行います。カレンダーのgetInstanceメソッドは、そのカレンダーのフィールドが現在の日付と時刻で初期化されているCalendarオブジェクトを返します。以下のようになります。

calA.add(Calendar.MINUTE, 5); 

まだ間違っている場合は、システム時刻が正しく設定されていることを確認してください。

出典:

+0

オーディオアラームが必要ですか?アラームマネージャはそのように設計されていません。アラームが発生すると、それを提供する意図が解消されます(http://developer.android.com/reference/android/app/AlarmManager.html)。 –

0

Calendar calA = Calendar.getInstance();は、ロケールが、この時間フィールドは現在の日付と時刻に初期化されているシステム設定に基づいているカレンダーオブジェクトを返します。

セバスチャンPが正しいことCalendar.HOUR_OF_DAYは定数であり、実際の時の値を参照するためのキー/インデックスです。

http://developer.android.com/reference/java/util/Calendar.html

関連する問題