修正前
これまでは、これで正常終了しているように見えた。
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
}