2015-11-04 39 views
-3

你好夥計是否有可能創建每秒運行的報警?

我想創建一個每秒運行的報警。我搜索了很多代碼,但沒有解決方案,請給我一些參考。

感謝 阿米特·夏爾馬

+1

可能重複的[在Android重複報警](http://stackoverflow.com/questions/32001783/repeating-alarm-in-android ) – BSMP

回答

0

你可以做到這一點,創建一個CountDownTimer,說你要多久它的第一個參數持續(以毫秒爲單位),然後設置一段時間運行第二個參數中的一段代碼。在onTick()方法中,這是將在第二個參數中指定的時間間隔內運行的代碼,onFinish()在倒計時期結束時被調用。當你想運行CountDownTimer對象時調用start()方法。

int howLongTimerLastsInMilliseconds = 3000 // 3000 milliseconds 
int tickEverySecond = 1000 // 1000 milliseconds == 1 second 

CountDownTimer countDownTimer = new CountDownTimer(howLongTimerLastsInMilliseconds,tickEverySecond ) { 

        @Override 
      public void onTick(long millisUntilFinished) { 
      //do some work every second 

      } 

      @Override 
      public void onFinish() { 
       //do something when the time is up 
       } 
     }; 

     countDownTimer.start(); 
0

按照documentation

注:與API開始19(KITKAT)報警輸送是不精確的:操作系統 將以便最小化喚醒和電池使用移位警報。有 是新的API來支持需要嚴格交付 保證的應用程序;請參閱setWindow(int,long,long,PendingIntent)和setExact(int,long,PendingIntent)。其中 targetSdkVersion早於API 19的應用程序將繼續看到 之前的行爲,在該行爲中, 請求時所有報警均準確傳送。

而且這個問題在code.googls.com惜售和這裏是它的一個解釋是:

覺得蹊蹺短的時間間隔5000個米利斯;擴展到60秒

這是按預期工作,雖然目前不充分 記錄(我們知道問題的這一方面)。非常普遍的說: :短期和近期的警報是驚人的 昂貴的電池;需要短期或近期工作的應用程序 應使用其他機制來安排其活動。

因此,如何使用鬧鐘解決您的問題沒有內在的方法。你應該尋找另一種機制或(非常粗略的解決方案)使用60個獨立的報警

相關問題