Unity的OnApplicationPause是否适用于iOS / Android?

时间:2017-02-22 03:27:36

标签: android ios unity3d

我正在使用Unity for iOS和Android应用程序,它可以在后台获取用户的位置。我想抓住应用程序成为后台的时刻,但是OnApplicationPause从未调用过。

我只在Debug.Log()方法中放置OnApplicationPause来调用,以确保是否触发了事件,但事件未被触发。

我的代码:

public class GPSService : MonoBehaviour {

   ...

    void OnApplicationPause(bool paused){
      Debug.Log("Paused");
      if(paused){       
       UnityEngine.SceneManagement.SceneManager.LoadScene("Background");
      }
    }
}

问题出在哪里?以及如何解决它?

我在Unity 5.4.4f1和5.5.1p4上测试了这种行为。

经过测试的设备:iPhone 4s,Doogee X5 Max(Android 6.0.1)

1 个答案:

答案 0 :(得分:1)

尝试使用OnApplicationFocus(bool)

在Android上,当启用屏幕键盘时,会导致OnApplicationFocus(false)事件。此外,如果在启用键盘时按Home键,则不会调用OnApplicationFocus()事件,而是调用OnApplicationPause()。

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnApplicationFocus.html