科尔多瓦:重新启动应用程序并清除浏览器历史记录



我们正在为Cordova应用程序添加一项功能,以捕获未经处理的异常并重新启动应用程序。我们希望在这种情况下清除浏览器历史记录,以便用户无法在Android设备上回击以返回到崩溃的屏幕。

无法以编程方式清除浏览器历史记录,但我希望有一个 Cordova 插件可以重新实例化整个应用程序(即删除当前 Web 视图并创建一个新视图(。不过我找不到这样的东西。

有没有一种好方法可以同时在iOS和Android上运行?

在 Android 中,对于每个WebView实例,您可以执行以下操作:

webView.clearCache(true);
webView.clearHistory();
webView.clearFormData();

对于IOS,请阅读此处:清除UIWebview缓存

我宁愿建议 cordova-plugin-cache-clear,以便处理的不仅仅是 Android 上的 Chrome。 但是某些 Cordova 插件无法完成Activity重新启动本身(在Exception的情况下,甚至不能通过Activity.recreate()(,但它需要一个辅助程序Service,它会得到通知(当然这些必须处理异常, 然而,未处理的异常只会崩溃(,然后相应地处理这种情况。找出崩溃的可能原因可能更有意义 - 而不是浪费时间为未正确伪造的代码创建有问题的解决方法。此外,如果这是 JavaScript 出错,可能根本没有办法解决这些问题,只能修复它们。

最新更新