まず最初に、これに関連する多くの質問があることを知っていますが、私は必要なものを見つけられませんでした。彼らはあなたが(私は)run()
方法で実行されているループを持っている必要があり、あなたがあなたのThread
あなただけfalse
にwhile()
のboolean
条件を設定する必要が殺したいときと述べたほとんどすべての答えでホームボタンが押されたときにスレッドを殺す方法
。私はそれを理解していますが、私の場合、すべての反復はGUI Thread
に関連しているので、数秒かかることがあります。基本的に、このthread
は、ユーザーがボタンを押してから、いくつかの音を再生するようなものを作るまで待っています。
false
に
boolean
を設定
thread
を停止することで、ユーザはホームボタンを押したときに
Thread
はuser'sを待って(、彼の実行を継続します入力)と数時間後(ユーザーがボタンを押す時間が終了すると)に音が再生されます。
onStop
の方法などでthread
を殺す別の方法がありますか?
ありがとうございます。
を役に立てば幸い、私はあなたが検出したときに実際にそれが可能であることを言うだろうホームボタンを使用しているユーザーのイベントでは、スレッドを強制終了します。スレッドを直接killできない場合は、メソッドがユーザー入力を待っているクラス(オブザーバーパターン)にpingを実行し、ユーザーが移動したという変数を変更する必要があります。ブール値か何かを保持します。スレッドがもはや実行されないときはfalseです。しかし、私はこれが実行可能な、または賢明な方法であるかどうか言うためにアンドロイドスレッドに慣れていません:-) –
多分、あなたはそのループ条件を一度だけではなく、それらの時間のかかるステップの前/後にチェックする必要があります。 – GhostCat
ボタンにonClickListener()をインストールするのではなく、ボタンクリックイベントを待機するスレッドを使用する理由を説明できますか? – Egor