Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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
wapa5pow
サーバサイドのエンジニアです。 機械学習とかも興味あります。
https://wapa5pow.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした