首先,我使用Unity打开一个webview(通过名为“uniwebview”的插件)。然后我打开相机或图库(通过斯坦的android原生插件)或浏览器(通过Application.OpenURL)。选择图片后,返回到统一。如果adb日志如下:
I/Unity (12779): onPause //open camera and Unity pause
I/Unity (12779): windowFocusChanged: true // after take picture, windowFocusChanged set true and unity resume
I/Unity (12779): onResume
I/Unity (12779): OnAndroidRetrieveProductsFinished
那么Unity可以正常工作,但有时如果adb日志是这样的:
I/Unity (12779): onPause
I/Unity (12779): onResume
Unity的功能将是我用Unity写的blocked.The代码,它不能工作,但webview仍然工作得很好。我在Unity中反编译了classes.jar,找到了函数windowFocusChanged:
public void windowFocusChanged(final boolean paramBoolean)
{
i.Log(4, "windowFocusChanged: " + paramBoolean);
this.i.a(paramBoolean);
if ((paramBoolean) && (this.b != null)) {
reportSoftInputStr(null, 1, false);
}
c(new Runnable()
{
public final void run()
{
UnityPlayer.a(UnityPlayer.this, paramBoolean);
}
});
this.a.a(paramBoolean);
g();
}
但是我不知道为什么这个函数不起作用。classes.jar被混淆了,很难读懂。
发布于 2016-05-18 21:32:36
我不知道它是如何与我们使用的“本地画廊辅助”- https://www.assetstore.unity3d.com/en/#!/content/60922插件一起工作的,它可以很好地恢复到与所选图像的统一。
发布于 2020-01-08 16:24:50
Unity在打开其他应用程序或与其他应用程序交互时失去焦点。如果你想在unity应用程序失去焦点后在后台运行你的函数,请按照以下步骤操作:
现在,即使unity失去焦点,您的函数也可以运行。
https://stackoverflow.com/questions/31467766
复制相似问题