2017-04-18 23 views

回答

0

AlarmManager的超時時間不能少於20秒。任何小於此值的超時都將被取整。

首先,我會質疑你是否真的需要它每秒更新一次。這是一個令人難以置信的數量的處理能力,並且非常反對小部件的想法。如果需要經常更新,應該是一個應用程序。如果您的更新來自服務器,並且您希望立即顯示它們,請查看推送消息。然後,只需在收到消息時更新,不需要警報或定時器。

其次 - 你做一個這樣的短期計時器的方式是通過Handler.postDelayed。它可以有一個更小的分辨率。但是,如果手機睡着了,它可能無法運行。

+0

我試圖給它10秒,但工具提示說最小超時時間是60秒 – Zoe

1

在這裏,我讓用戶在屏幕上等待30秒,並在完成時隱藏視圖和點擊服務。您可以根據您的需要進行定製。

CountDownTimer timer = new CountDownTimer(31000, 1000) { 
      @Override 
      public void onTick(long millisUntilFinished) { 
       timer_text.setText("Remaining Seconds. " + millisUntilFinished/1000 + " s"); 
       if (count >= 30) { 

       } else { 
        count++; 
       } 
      } 

      @Override 
      public void onFinish() { 
       timer_text.setVisibility(View.GONE); 
       /// VOLLEY SERVICE 
      } 
     }.start();