2017-04-18 10 views
0

ウィジェットを毎秒更新するには?

私はAlarmManagerを使用しましたが、それはkitkatの下のバージョンでのみ動作します。アンドロイドで毎秒ウィジェットを更新するには?

+0

アプリウィジェットをこれよりもずっと少なく更新してください。ユーザーが通常は自分のホーム画面を見ているわけではないことを覚えておいてください。そのため、CPU時間とバッテリーを無駄にするだけです。 – CommonsWare

答えて

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(); 
関連する問題