2010-11-22 10 views
0

アラームマネージャオブジェクトから通知されるサービスの実例があります。間隔はユーザーの設定に応じて変化しますが、間隔は5-10-20-30分ですが私が1時間アラームを設定すると、私のサービスは通知されることはありません。それについての既知のバグはありますか?アラームが私のサービスに通知してはいけませんか?android alarm manager long interval

+0

誰ですか?これは本当に奇妙です! – maxsap

+1

コードを表示する必要があります。より長い間隔に関して本質的に異なるものは存在しないはずです。 – Falmarri

答えて

0

私の唯一の提案は、1時間を3,600,000ミリ秒として表現していることを確認することです。

アラームを作成するのではなく、同じ日に00:00から開始する時間の先頭から15分ごとに自分のアラームを設定するには、次の方法を使用します。

// Set (or get) long time 
Calendar calendar = Calendar.getInstance(); 
calendar.set(Calendar.HOUR_OF_DAY, 0); 
calendar.set(Calendar.MINUTE, 0); 
calendar.set(Calendar.SECOND, 0); 
calendar.set(Calendar.MILLISECOND, 0); 
long START_TIME = calendar.getTimeInMillis(); 

// Variables 
int LONG_INTERVAL = 15; // in minutes 

// Set the repeating alarm 
aManager.setRepeating(AlarmManager.RTC_WAKEUP, START_TIME, LONG_INTERVAL * 60000, sender); 

むしろテストするために全体の時間を待っているよりも、私はちょうどそれが次の期待間隔で実行されますようにHOUR_OF_DAYとMINUTEは「前」およそ55分を表示するように設定します。テストしたところ、すべてが成功しました。

+0

,,,,私はaumomatically 1時間後にalrmをキャンセルすることができます....? –

2

AlarmManagerdocumentationにチェックを入れてください。この場合、より良い定数であるINTERVAL_HOURがあります。

関連する問題