-1

これは私が期待したようには機能していません。しかし、私が期待する方法はおそらく間違っています。

カウントダウンタイマーを実装するアプリケーションがあります。Androidフォンの戻るボタンをクリックすると、ユーザーはメイン画面に戻ります。ただし、カウントダウンタイマーは引き続きバックグラウンドで実行されます。一定の間隔でビールを飲んでいるのがわかります。

onPause()実装すれば電話できると思いましたcountdowntimer.cancel()。また、ユーザーが戻るボタンを使用してアクティビティを終了すると、カウントダウンタイマーがキャンセルされます。ただし、代わりにアプリケーションは失敗します。

私も同様のアプローチを試しましたonStop()が、うまくいきません。

現時点ではコードを持っていません。それは私の頭の中にあります。また、この投稿に間違いがあった場合は申し訳ありませんが、私は自分の電話にそれを書きました。

4

3 に答える 3

2

onPause()は、あるアクティビティが別のアクティビティにコントロールを転送するときに呼び出し、onStop()メソッドは、アクティビティ終了モードのときに呼び出します。

于 2013-03-27T13:24:56.150 に答える
0

試す:

movetasktoback(true);//in the onbackpressed

次に、以下を使用します。

countdowntimer.cancel();// in onpause

その後、を呼び出すことができfinish()ますonpause()

于 2013-03-27T12:34:03.900 に答える
0

バックキーが押されたときにcountdowntimer.cancel()を呼び出さない理由は、次のようにバッククリックをオーバーライドできます。

@Override
     public boolean onKeyDown(int keyCode, KeyEvent event)  {
         if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
             countdowntimer.cancel();
         }

         return super.onKeyDown(keyCode, event);
     }
于 2013-03-27T12:52:27.843 に答える