LoginSignup
34
27

More than 5 years have passed since last update.

Activity#finish() でアプリが終了できないときは

Last updated at Posted at 2016-06-19

ハマったので覚書。

TL;DR

Activity#finish() で最後のアクティビティを終了させても、アプリがタスク一覧に残ってしまう。APIレベル21からは Activity#finishAndRemoveTask() というメソッドがあるので、これを呼ぶ。

経緯

Android でアプリを終了させようと思って Activity#finish() を呼んだのですが、アクティビティは画面から消えるものの、タスクが消えない。つまり端末の □ ボタンを押すとタスク一覧に空の画面が出っぱなしになります。

んで、ググってみると 「Activity finish does not work」 とか 「android アクティビティ finish 終了しない」で、たくさんワークアラウンドが出て来るので思わず読みふける。むむ、なにプロセスが onDestroy 後も残るとな...。

結局

APIレベル21 からは Activity#finishAndRemoveTask() というメソッドがあるので、こいつを呼ぶのが正解なのでした。

検索結果に捕らわれて小1時間ハマりました...。

34
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
27