search
LoginSignup
32
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

UnityでのOnApplicationFocus, OnApplicationPause, OnApplicationQuit関数における各端末(iOS/Android)動作まとめ

Unityで作ったアプリケーションを閉じたり開いたりするときに表題のイベントが走るのですが、忘れやすいのでメモします。

環境

  • Unity: 5.5.1f1
  • Android: 5.0.2
  • iOS: 10.2.1

コード

適当なMonoBehaviourを継承したクラスに以下のコードを足して実際に実機で動かして試してみます。

private void OnApplicationFocus( bool hasFocus )
{
    Debug.Log("OnApplicationFocus:" + hasFocus);
}

private void OnApplicationPause( bool pauseStatus )
{
    Debug.Log("OnApplicationPause:" + pauseStatus);
}

private void OnApplicationQuit() {
    Debug.Log("OnApplicationQuit");
}

Androidの場合

アプリを開始したとき

OnApplicationPause:False
OnApplicationFocus:True

アプリ起動時にBack Button, Home Button, Overview Buttonを押したとき

以下のボタンが押されたときにそれぞれどのようなログを出すのか調べてみます。
今回はBackButtonが押されたときは、Application.Quit()でアプリを終了するようにしています。

Android_menu_botton_-_Google_Search.png

# Back Buttonを押した場合
OnApplicationFocus:False
OnApplicationQuit

# Home Buttonを押した場合
OnApplicationPause:True
OnApplicationFocus:False

# Overview Buttonを押したとき
OnApplicationPause:True
OnApplicationFocus:False

スクリーンロック時

# ロックしたとき
OnApplicationPause:True

# 開いたとき
OnApplicationPause:False

Notificationのメニューを出したとき

OnApplicationFocus:False

iOSの場合

アプリを開始したとき

OnApplicationFocus:True

アプリ使用時にPOWERボタンを押したとき

# 押したとき
OnApplicationFocus:False
OnApplicationPause:True

# ホームボタンで起動し直したとき
OnApplicationFocus:True
OnApplicationPause:False

アプリ使用時にホームボタンを押したときやホームボタンをダブルクリックしたとき

# 押したとき
OnApplicationFocus:False
OnApplicationPause:True

# ホーム画面などでアプリを選択し直したとき
OnApplicationFocus:True
OnApplicationPause:False

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
What you can do with signing up
32
Help us understand the problem. What are the problem?