已在 Unity Android 应用程序中实现 Webview 以加载 URL,如下所示:
public void ActivateWebView(string link)
{
var webViewGameObject = new GameObject("UniWebView");
webView = webViewGameObject.AddComponent<UniWebView>();
DontDestroyOnLoad(webViewGameObject);
webView.Frame = new Rect(0, 0, Screen.width, Screen.height);
webView.OnPageStarted += (UniWebView uni, string url) =>
{
print("webView created " + url);
};
webView.Load(link);
webView.SetBackButtonEnabled(true);
webView.Show();
}
但是,每当我按下 Android 的主页按钮,然后切换回我的应用程序时,Web 视图就会关闭并移回到启动 Web 视图的页面。如何保持 webview 会话/上下文打开,直到我特意不按“后退”按钮?
官方文档(https://docs.uniwebview.com/api/)没有提到如何在Android应用程序上切换应用程序(或简单地按Home按钮)后保持webview会话打开。
解决按 Android Home 按钮然后返回应用程序后 WebView 会话关闭并返回 Unity Android 应用程序中的上一页的问题。您需要更清晰地管理 Webview 生命周期以及应用程序的生命周期。
UniWebview 没有提供直接的解决方案来通过应用程序切换维持 webveiw 会话打开。
您需要实施自定义解决方案。
public void OnApplicationPause(bool pause)
{
if(pause)
{
saveURL = currenturl;
}
else
{
webView.Load(saveURL);
}
}