2013-04-07 53 views
0

有3個類。 服務類,執行類,接收器類AlarmManager重複endress

最前一頁,服務類在「執行類」,「執行類」

代碼執行amethod方法是

Amethod(){ 
    Intent intent = new Intent(); 
      intent.setAction("MY_ACTION"); 
      PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
      AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
      am.cancel(pi); 
      if(true){//to repaet every 10 sec. 
      am.set(AlarmManager.RTC_WAKEUP,10000, pi); 
    } 
} 

這一行動將發送給接收器。

if(action.equals("MY_ACTION")){ 
      Log.d("test","test"); 
      Amethod(); 

我想這個「Amethod」將每10秒調用一次。 但它每10毫秒重複一次,可能調用方法並調用。

爲什麼這樣工作? 請告訴我哪個代碼是我的錯誤。

回答

0

如果您想要重複報警,請不要像這樣設置每個報警。第一次使用setRepeating,並在此後繼續。