【发布时间】:2018-03-20 13:27:19
【问题描述】:
有谁知道为什么 WebView 只用我的网站 url 显示白色或空白页面?
注意 如果我按住白色/空白页,我可以选择“全选”和“复制”。之后,我将它粘贴到一个便笺中,我可以看到我网站的内容。怎么了?
我的代码
var webView = new Android.Webkit.WebView(Forms.Context);
webView.Settings.JavaScriptEnabled = true;
webView.Settings.LoadsImagesAutomatically = true;
webView.SetWebViewClient(new MyBrowser());
webView.Settings.SetAppCacheMaxSize(5 * 1024 * 1024);
webView.Settings.SetAppCachePath(Context.CacheDir.AbsolutePath);
webView.Settings.AllowFileAccess = true;
webView.Settings.SetAppCacheEnabled(true);
webView.Settings.CacheMode = CacheModes.Default;
webView.Settings.DomStorageEnabled = true;
webView.PostUrl("<MyURL>", Convert.FromBase64String("<mystring>"));
if (DetectConnection.checkInternetConnection())
{
webView.Settings.CacheMode = CacheModes.CacheElseNetwork;
}
SetNativeControl(webView);
if (oldHWV != null)
{
Control.RemoveJavascriptInterface("jsBridge");
oldHWV.Cleanup();
}
if (newHWV != null)
{
Control.AddJavascriptInterface(new JSBridge(this), "jsBridge");
Control.LoadUrl(Element.Uri);
InjectJS(JavaScriptFunction);
}
}
void InjectJS(string script)
{
if (Control != null)
{
Control.LoadUrl(string.Format("javascript: {0}", script));
}
}
class MyBrowser : WebViewClient
{
override public bool ShouldOverrideUrlLoading(Android.Webkit.WebView view, string url)
{
view.LoadUrl(url);
return false;
}
}
输出
10-09 12:14:20.651 W/art (18729):JNI RegisterNativeMethods: 尝试注册 0 个本地方法 md5db941dcc072fe623e29eb3b9d0ecdde3.HybridWebViewRenderer 10-09 12:14:20.732 I/WebViewFactory(18729): 加载 com.android.webview 版本 44.0.2403.119(代码 246011900)10-09 12:14:20.778 W/系统 (18729):ClassLoader 引用了未知路径: /system/app/webview/lib/arm 10-09 12:14:20.796 I/LibraryLoader(18729): 加载本机库的时间:9 毫秒(时间戳 258-267)10-09 12:14:20.796 I/LibraryLoader(18729):预期的本机库版本 number "",实际原生库版本号"" [INFO:library_loader_hooks.cc(120)] Chromium 日志记录已启用:级别 = 0,默认详细程度 = 0 10-09 12:14:20.823 V/WebViewChromiumFactoryProvider(18729):将 Chromium 绑定到 main Looper Looper(主要,tid 1){b95d216} 10-09 12:14:20.823 I/LibraryLoader(18729):预期的本机库版本号 "",实际原生库版本号"" 10-09 12:14:20.824 我/铬(18729):[信息:library_loader_hooks.cc(120)]铬 启用日志记录:级别 = 0,默认详细程度 = 0 10-09 12:14:20.834 I/BrowserStartupController(18729):初始化铬进程, singleProcess=true 10-09 12:14:20.835 W/art (18729):尝试 删除非 JNI 本地引用,转储线程 10-09 12:14:20.836 E/SysUtils(18729):ApplicationStatus 中的 ApplicationContext 为空 [警告:resource_bundle.cc(285)] locale_file_path.empty() 10-09 12:14:20.855 W/铬(18729):[警告:resource_bundle.cc(285)] locale_file_path.empty() 10-09 12:14:20.864 E/libEGL (18729): validate_display:255 错误 3008 (EGL_BAD_DISPLAY) 10-09 12:14:20.864 E/libEGL (18729): validate_display:255 错误 3008 (EGL_BAD_DISPLAY) 10-09 12:14:20.924 E/DataReductionProxySettingListener(18729): 没有 DRP 由于异常的关键:java.lang.ClassNotFoundException: com.android.webview.chromium.Drp 10-09 12:14:20.968 W/艺术 (18729): 尝试删除非 JNI 本地引用,转储线程 10-09 12:14:20.979 W/AwContents(18729):onDetachedFromWindow 调用时 已经分离。忽略已解决的挂起断点 'HybridWebViewRenderer.cs:180,1' 无效 .Droid.MyBrowser.OnReceivedError (Android.Webkit.WebView 查看,Android.Webkit.IWebResourceRequest 请求, Android.Webkit.WebResourceError 错误)[0x00001]。 10-09 12:14:21.188 D/Mono (18729): 图像地址引用 Mono.Android.Export[0x969fcfc0] -> Mono.Android.Export.dll[0x969aa600]: 2 10-09 12:14:21.188 D/Mono
(18729):准备设置程序集“Mono.Android.Export” (Mono.Android.Export.dll) 10-09 12:14:21.188 D/Mono (18729): 程序集 Mono.Android.Export[0x969fcfc0] 添加到域 RootDomain, ref_count=1 10-09 12:14:21.190 D/Mono (18729): AOT: 图像 未找到“Mono.Android.Export.dll.so”:dlopen 失败:库 “/data/app//lib/arm/libaot-Mono.Android.Export.dll.so”不是 发现 10-09 12:14:21.191 D/Mono (18729): AOT: image '/usr/local/lib/mono/aot-cache/arm/Mono.Android.Export.dll.so' 不是 找到:dlopen 失败:库 “/data/app//lib/arm/libaot-Mono.Android.Export.dll.so”不是 发现 10-09 12:14:21.191 D/Mono (18729): 配置试图 解析:'Mono.Android.Export.dll.config'。 10-09 12:14:21.191 D/单声道
(18729):配置尝试解析: '/usr/local/etc/mono/assemblies/Mono.Android.Export/Mono.Android.Export.config'。 10-09 12:14:21.192 D/Mono (18729): 大会参考地址 Mono.Android.Export[0x969fcfc0] -> mscorlib[0xa9e73f00]: 66 已加载 程序集:Mono.Android.Export.dll [外部] 10-09 12:14:21.200 D/Mono (18729): 程序集参考 addref Mono.Android.Export[0x969fcfc0] -> Mono.Android[0xa8ee2d80]: 36 10-09 12:14:21.215 D/Mono (18729): 程序集 Ref addref Mono.Android.Export[0x969fcfc0] -> System.Xml[0x98469fc0]: 4 加载程序集:callback_factory [外部] 10-09 12:14:21.382 D/Mono (18729):大会参考地址 Mono.Android.Export[0x969fcfc0] -> System.Core[0xa8ee3680]:8 10-09 12:14:21.389 W/art (18729):尝试删除非 JNI 本地 参考,转储线程 10-09 12:14:21.389 W/art (18729): 尝试删除非 JNI 本地引用,转储线程 10-09 12:14:21.402 D/Mono (18729): DllImport 搜索:'__Internal' ('(空值)')。 10-09 12:14:21.402 D/Mono (18729): 搜索 'java_interop_jnienv_call_float_method_a'。 10-09 12:14:21.402 D/单声道
(18729):探测“java_interop_jnienv_call_float_method_a”。 10-09 12:14:21.402 D/Mono (18729):发现为 'java_interop_jnienv_call_float_method_a'。 10-09 12:14:21.487 I/Choreographer(18729):跳过了 52 帧!该应用程序可能是 在其主线程上做太多工作。 [警告:data_reduction_proxy_config.cc(423)] SPDY 代理在 启动 10-09 12:14:21.506 W/铬(18729): [警告:data_reduction_proxy_config.cc(423)] SPDY 代理在 启动 10-09 12:14:21.570 W/BindingManager(18729):无法调用 确定的Visibility() - 从未看到pid的连接:18729 10-09 12:14:21.824 W/BindingManager(18729):无法调用 deniedVisibility() - 从未见过 pid: 18729 的连接
提前谢谢你
【问题讨论】:
-
请检查网址是否正确,请尝试使用您的测试设备/模拟器的浏览器打开您的网站,检查是否可以正确打开。
-
网址是正确的,我可以用设备/模拟器的浏览器打开它。如果我按住白色/空白页,我可以选择“全选”和“复制”。之后,我将它粘贴到一个便笺中,我可以看到我网站的内容。怎么了?
-
我猜是布局或样式的问题,你可以尝试设置 webview 的大小,看看它是否能解决问题?
-
我尝试修改布局,但没有任何改变
标签: android xamarin webview xamarin.forms xamarin.android