LoginSignup
11
7

More than 5 years have passed since last update.

Unityで作ったAndroidアプリがBackキー押下で終了できない場合の仮対応

Last updated at Posted at 2017-10-17

修正前

これまでは、これで正常終了しているように見えた。

    void Update()
    {
#if UNITY_ANDROID
        // Backキー押下
        if (Input.GetKeyDown(KeyCode.Escape)) {
            // アプリ終了
            Application.Quit();
            return;
        }
#endif
    }

ところが、いつのまにかアプリは非表示になるが残っているようで、
再起動すると動作が不安定になるようになった。

修正内容

System.Diagnostics.Process.GetCurrentProcess().Kill();

を使うと解消するが、マズそうなので別の方法を調査。

Application.Quit()

の前に

Application.runInBackground = false;

を追加すると改善された。

詳細はこちら。
https://docs.unity3d.com/ScriptReference/Application-runInBackground.html

Default is false

って書いてあるので、どこかでtrueに変わってしまっているということかな・・・
根本的な解決にはなってないような気がするけれど、
動作が不安定になるようなことは無くなった。

修正後

こんな感じ。

    void Update()
    {
#if UNITY_ANDROID
        // Backキー押下
        if (Input.GetKeyDown(KeyCode.Escape)) {
            // アプリ終了
            Application.runInBackground = false;
            Application.Quit();
            return;
        }
#endif
    }
11
7
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
11
7