2016-03-08 49 views
2

即时通讯目前正在制定这两个Android和iOS平台的统一的应用程序在恢复中的应用。我已经在平台上分别使用本机编码实现深层链接。我现在的问题是深层链接工作得很好的Android和iOS设备,如果应用程序正在启动的第一次活动,没有它正在从最近的历史恢复。如果应用程序最小化,然后如果在网页上单击了深层链接,应用程序将简单地恢复,但不会传递深层链接数据。我知道这是因为我已经调用了void Start()方法中的深度链接方法。我试图让布尔值检查从活动数据和重新加载void Update()方法中的深层链接部分。但它不起作用。重新启动使用C#团结

我想谷歌的一个解决方案小时。剩下的唯一选择是重新启动应用程序,以便整个事情从一开始就运行,因此深层链接将起作用。

我试着添加'应用程序不在后台运行'属性在info.plist为ios.It工作,但我不能这样做的android。

即时通讯使用统一5.3.1f1在mac和功能void OnApplicationPausevoid OnApplicationFocus都无法正常工作。我手动调试代码,它不会调用该函数。

如果任何人都可以让我知道是否有一个统一的方法或Android我可以实现什么我试着这将是一个非常大的帮助。谢谢

回答

1

OnApplicationPauseOnApplicationFocus是最好的和推荐的方法来做到这一点。 OnApplicationPauseOnApplicationFocus没有被呼叫Android因为您的脚本中可能有Application.runInBackground删除它,如果你有他们。

另外,对于要调用的OnApplicationPauseOnApplicationFocus,您必须从MonoBehavior继承。您的脚本应该是这样的:

public class ExampleClass : MonoBehaviour { 

    void OnApplicationPause(bool pauseStatus) { 

    } 

    void OnApplicationFocus(bool focusStatus) { 

    } 
} 

相反的:

public class ExampleClass : OTHERCLASS{ 

    void OnApplicationPause(bool pauseStatus) { 

    } 

    void OnApplicationFocus(bool focusStatus) { 

    } 
} 

OR:

public class ExampleClass { 

    void OnApplicationPause(bool pauseStatus) { 

    } 

    void OnApplicationFocus(bool focusStatus) { 

    } 
} 

如果不解决您的问题,那么这可能是一个错误。更新统一从5.3.1f15.3.3因为这是最新版本,可能会解决您的问题。

+1

此外,如果您启用了虚拟现实,它将覆盖后台运行,因此您需要确保它已关闭。 – Everts