どのように私はタイマーで、ボタンを無効にし、それが再起動時に無効になり続けるのですか?

マークDenom:

私の目標は、タイマーが起動ボタンを有効にしたら、ボタンをクリックして、それを無効にして、タイマーを開始することですので。単純な右?あなたはこのような何かをするだろう。

button1.onClick { 

button1.setEnabled(false);
    new CountDownTimer(60000, 1000) { //Set Timer for 5 seconds
            public void onTick(long millisUntilFinished) {
            }

            @Override
            public void onFinish() {
                   button1.setEnabled(true);
            }
        }.start()

}

しかし...タイマーボタンを実行している間、ユーザーがアプリを閉じた場合は、タイマーを再起動し、再び有効になります。その代わりに、ユーザはアプリだけで閉じることができ、60秒待つと、10秒以内にそれを開くことの。

だから私の質問は、どのように私は60秒のためのボタンを無効にした場合でも、無効なユーザーが閉じるそれを維持し、60秒が経過するまでのアプリを開きますか?

GhostCat敬礼モニカC.:

あなたはする必要が存続アプリがオフになっている場合でも、それを維持し、データストア内にその情報を。

それを行う1つの方法は、使用することですhttps://developer.android.com/training/data-storage/shared-preferencesを

あなたは、タイマーを起動するときにタイムスタンプを取得、またはタイマーのための「終了時間」を計算することがあります。あなたの好みは、このようなタイムスタンプが含まれている場合は、最初のチェック、あなたはその情報を保存し、アプリが起動するたびに。そしてもしそうなら、あなたはその「タイミング」ウィンドウに残っているかどうかを確認してください。

THRキー物事を覚えている:あなたはタイマーがアップしている時に永続化情報を削除する必要があり、かつ:誰かが平均時間でシステムクロックを変更した場合、あなたも、問題を得ました。それに対処することも可能ですが、より多くの努力が必要です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=221512&siteId=1