私は現在、非常にシンプルなカウントダウン タイマー アプリに取り組んでいます。アプリが閉じているときに起動するだけでなく、アプリが開いているときに進行状況を表示できるタイマーの正しいアーキテクチャについてアドバイスが必要です。
私が今まで持っていたのは、100ミリ秒ごとにHandler
aを実行してプログレスバーを更新し、このようにハンドラーを再度呼び出す単純なものですRunnable
// ...
// start the timer
tickHandler.postDelayed(runnable, 100);
// ...
private Handler tickHandler = new Handler();
private Runnable runnable = new Runnable(){
@Override
public void run() {
if(tick()){
tickHandler.postDelayed(this, 100);
}
}
};
Timer
アプリを閉じても実行できるようにしたかったのです。私は最初に a について考えましたが、その後、仕事をするのに縫い目があり、はるかに使いやすいクラスをService
発見しました。AlarmManager
ただし、通知センターに通知を投稿できるようにするだけでなく、アプリを再度開いてタイマーが終了したことを示したいと考えています。
これは で実行できますか、それともAlarmManager
を実装する必要がありService
ますか? Activity
このアプリケーションのアーキテクチャは、制御が から に渡され、Service
さらに重要なことに再び戻されるという点でどのように見えるでしょうか?
ヒントをありがとう!