Nativescript WebView on Android API 30 yields ERR_ACCESS_DENIED(Android API 30上的Nativescript WebView生成ERR_ACCESS_DENIED)
问题描述
我有一个NativeScript 6.8 JavaScript应用程序,它使用WebView显示在该应用程序中编写的引用本地图像文件的html字符串。Google Play商店强制我支持API 30,当我这样做时,WebView失败并显示
net::ERR_ACCESS_DENIED(-1)
我发现this post建议我修改Android WebView的一些访问设置,使我的代码现在看起来如下所示
AndroidManifest.xml:
<application
...
android:usesCleartextTraffic="true">
xml:
<GridLayout>
<WebView id="annbyday" loadFinished="onLoadFinished" src="{{ htmlsrcForDay }}" />
</GridLayout>
js:
exports.onLoadFinished = function (args) {
if (args.object.android) {
if (!args.error) {
let webView = args.object.android;
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);
console.log("announce-page.onLoadFinished: settings set");
} else {
console.warn("announce-page.onLoadFinished: " + args.error);
}
}
}
当我运行此命令时,在控制台中收到以下消息:
JS: announce-page.onLoadFinished: settings set
JS: announce-page.onLoadFinished: net::ERR_ACCESS_DENIED(-1)
JS: announce-page.onLoadFinished: net::ERR_ACCESS_DENIED(-1)
JS: announce-page.onLoadFinished: settings set
第一次导航到该页面时,会显示Android错误屏幕。但是,如果我重新导航到该页面,我得到的只是";settings set";消息,并且html显示正确。 好像设置起作用了,但是设置得不够快。将代码移动到LoadStarted事件没有任何效果。
我觉得我快到了;欢迎任何帮助。
WebView
我将代码移到页面的已加载事件处理程序中,现在一切都按预期工作,并且我根本不使用推荐答案的loadStarted或LoadFinded事件。最后的代码是
exports.onLoaded = function (args) {
const page = args.object;
const webView = page.getViewById("<WebView id>");
if (webView.android) {
let setter = webView.android.getSettings();
setter.setAllowFileAccess(true);
setter.setAllowContentAccess(true);
}
这篇关于Android API 30上的Nativescript WebView生成ERR_ACCESS_DENIED的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android API 30上的Nativescript WebView生成ERR_ACCESS_DENIED
基础教程推荐
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01