2011-01-21 20 views
0

特定の日時にアラームを設定したいと思います。 iamがwebservice.iで日付と時刻を取得すると、日付と時刻が解析され、SimpleDateFormatが使用されています。この日付と時刻を[alarmManager.set(AlarmManager.RTC_WAKEUP、dt、pendingIntent);]に入れたいのですが、アラームは、与えられた時間時間設定でのアラームマネージャの問題

 String str_date= hr+":"+min+":"+sec+" "+dat+"/"+mon+"/"+year; 
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss dd/MM/yyyy"); 
    ParsePosition position = new ParsePosition(0); 

    java.util.Date stringToDate = sdf.parse(str_date, position); 
    dt = stringToDate.getDate(); 

に仕事をdoesnot事前

答えて

0

で 感謝を助けてください、あなたがAlarm.setに渡す必要があり時間が(deprecatedある)longgetDateであるintを返します。

だから、SimpleDateFormatの新しいインスタンスの後にあなたはUTCタイムゾーンを設定することがgetTime()

+0

これはデフォルトの時間に私の解析時間ではありません。 – kanchan

+0

'time date'の代わりに' date'のように 'time'と' date'を入れ替えてみてください。 – ccheneson

+0

自分で日付を解析しているので、日付と時刻の異なる部分がある場合は、 'Calendar'を使い、' set'メソッドを日付部分と一緒に使うことができます。次に、getTimeInMillisを呼び出してその結果をアラームマネージャに渡すことができます。 - 詳細はhttp://developer.android.com/reference/java/util/Calendar.html – ccheneson

0

AlarmManagerはUTCタイムゾーンでmillesecond単位で時間を使う... で試してみてくださいので、時間の解析は、アカウントに

をタイムゾーンを取らなければなりません

例:

てSimpleDateFormat SDFが=新しいてSimpleDateFormat( "HH:MM:SS DD/MM/YYYY")。 sdf.setTimeZone(TimeZone.getTimeZone( "UTC"));

あなたの解析はOKで、AlarmManagerサービスと互換性があります。