【Android】ロックしてもアプリを終了しないようにする

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

【Android】ロックしてもアプリを終了しないようにする

#1

投稿記事 by みけCAT » 13年前

Eclipse Version: 3.7.2
Android端末: docomo SC-03D (Galaxy SII LTE)

Tree PuzzleをAndroidに移植しようとしています。
今の実装では、ゲーム中にホームボタンを押してホームに戻ったり、電源ボタンを押してロックしたりすると、
そのままアプリが終了してしまいます。
特に電源ボタンを押すと、一瞬端末の動作がおかしくなります。(画面が残ったり、ホームのアイコンがしばらく出なかったり)
どのようにすればホームボタンや電源ボタンを押しても終了しないようにできますか?

SurfaceViewを用いてゲームを作っています。
ゲーム内の終了ボタンで終了させるため、スレッドのループを抜けたらKillProcessしています。
再現するプロジェクトを添付します。
添付ファイル
surfaceviewmintest.zip
プロジェクトです。
(152.97 KiB) ダウンロード数: 170 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 【Android】ロックしてもアプリを終了しないようにする

#2

投稿記事 by ISLe » 13年前

Activityクラスで構成されるAndroidアプリでは、アプリを終了しなくすることはできません。
例えば、スマホを傾けて画面の向きが変わるときにもActivityが再起動される仕組みになっています。

終了前の状態を記録して、再起動後復元する仕組みはアプリケーション側で実装することになります。
ネットで画面の向きの変更に対応するサンプルプログラムを探せばいくつかの方法が見付かると思います。


KillProcessしたらVMごと強制終了すると思うので悪影響ありそうな気がします。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 【Android】ロックしてもアプリを終了しないようにする

#3

投稿記事 by みけCAT » 13年前

http://www.techdoctranslator.com/androi ... me-changes
ここのonRetainNonConfigurationInstanceを使用する方法でほぼうまくできました。
(「ほぼ」の部分はつぎのトピックで質問します)
ありがとうございました。
添付ファイル
surfaceviewmintest_new.zip
プロジェクトです。
(154.88 KiB) ダウンロード数: 186 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る