我目前正在为 android 和 ios 平台开发一个统一的应用程序。我已经使用 native 编码分别在平台中实现了深度链接。我现在遇到的问题是,如果应用程序是第一次启动 Activity 而没有从最近的历史记录中恢复,那么深度链接在 Android 和 iOS 设备上都能很好地工作。如果应用程序被最小化,然后如果在网页上单击深层链接,应用程序只会恢复但不会传递深层链接数据。我知道这是因为我在 void Start()
方法中调用了深层链接方法。我试图获取 bool 值以检查 Activity 中的数据并在 void Update()
方法中重新加载深层链接部分。但它不起作用。
我用谷歌搜索了几个小时来寻找解决方案。剩下的唯一选择是在应用程序恢复后重新启动应用程序,这样整个应用程序将从头开始运行,因此深度链接将在其中运行。
我尝试在 ios 的 info.plist 中添加“应用程序不在后台运行”属性。它有效但我不能为 android 这样做。
我在 mac 上使用 unity 5.3.1f1 并且函数 void OnApplicationPause
void OnApplicationFocus
都不起作用。我手动调试了代码,它没有调用函数。
如果有人能让我知道 unity 或 android 中是否有一种方法可以实现我正在尝试的目标,那将是一个非常大的帮助。谢谢
最佳答案
OnApplicationPause
和 OnApplicationFocus
是执行此操作的最佳和推荐方法。 OnApplicationPause
和 OnApplicationFocus
未在 Android 上调用,因为您的一些脚本中可能有 Application.runInBackground
.如果有,请删除。
此外,要调用 OnApplicationPause
和 OnApplicationFocus
,您必须继承自 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) {
}
}
或者:
public class ExampleClass {
void OnApplicationPause(bool pauseStatus) {
}
void OnApplicationFocus(bool focusStatus) {
}
}
如果这不能解决您的问题,那么这很可能是一个错误。将 unity 从 5.3.1f1 更新到 5.3.3,因为这是最新版本,可能会解决您的问题。
关于c# - 在 c# 中使用 unity 在简历上重新启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35861565/