【发布时间】:2022-01-10 19:19:15
【问题描述】:
我有带有 EmbedIO 网络服务器的应用程序和带有 WkWebViewRenderer 的 WebView 中的角度代码。在 Angular 代码中是轮询函数。
当应用程序进入后台时,DidEnterBackground 被调用并且我处理了 webserver,但 webview 仍然运行。如何在触发此事件时使用 Angular 暂停 webview 以停止轮询,并在应用再次进入前台时重新启动它?
【问题讨论】:
-
很难说,没有看到你的代码。也许您可以在自己的自定义渲染器中完成,如Customizing a WebView - Create the custom renderer on iOS。您还需要一个WKScriptMessageHandler,这样您就可以与网页进行通信。或者让
DidEnterBackground告诉你的 wkwebview 自定义渲染器到Dispose可能更容易。 -
但是我会失去 Angular 应用程序的实际状态吗?
-
如果你处理,是的,那会失去状态。只是想让你知道这是一种方法。
-
是的,但我不想丢失它.. 或者想办法保存它
-
尝试注释掉“((HybridWebView)Element).Cleanup();”在 dispose 方法中