1
ユーザが設定した特定の日付にアラームを開始したい。問題は、アラームを開始する時間が非常に混乱するということです。カレンダーオブジェクトでアラームを設定する
private void startAlarm(String taskDate)
{
AlarmManager alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
String [] taskDateArray = taskDate.split("-");
int day = Integer.parseInt(taskDateArray[0].trim());
int month = Integer.parseInt(taskDateArray[1].trim());
int year = Integer.parseInt(taskDateArray[2].trim());
Log.w(TAG, "Year " + year + " Month " + month + " Day " + day);
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1); // Month is zero-based
calendar.set(Calendar.DAY_OF_MONTH, day);
long alarmTime = calendar.getTimeInMillis();
Intent intent = new Intent(this, RememberMeService.class);
PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, 0);
alarmManager.set(AlarmManager.RTC, alarmTime, pendingIntent);
}
alarmTime
の値は常により30億であると私はありません持っている:ここで時間等が設定されている方法は、文字列taskDate
5-12-2011
のようなもので、ユーザーが選びだした日ですよアイデア理由。
で述べたようしかし、 - ユーザーが選択した日付を保持 - メソッドに渡されるのは "5-12-2011"のようになります。 私はこの権利をどのように処理するのか分かりません。 – vein
これは正しい方法です。これは、すべてのJavaプラットフォームでの標準日付の実装です。 – Ramseys