草庐IT

webview_flutter

全部标签

android - LeakCanary 发现 Android WebView 内存泄漏

我一直在使用工具leakcanary发现我的应用程序中的内存泄漏。似乎我的WebViewActivity每次都会泄漏。我创建了一个简单的应用程序来测试泄漏。我在xml布局文件中启动一个带有WebView的Activity/使用Activity上下文进行膨胀。Js关闭。一切都默认期望一个简单的webViewClient在WebView中保持重定向。每次都漏水。我做了很多研究,防止这种情况的唯一方法是用另一个进程启动WebViewActivity并在onDestroy中将其终止。但这种方法有其自身的缺点。在我所有运行5.0+的设备上每次都会发生泄漏,尚未检查4.3及以下版本。泄漏信息粘贴在

android - 向 shouldInterceptRequest Android webview 中的所有请求添加自定义 header

我想在webview中为请求添加自定义header。我认为应该可以在shouldInterceptRequest中完成。因为我的最低API级别低于21shouldInterceptRequest(最终WebViewView,最终Stringurl)也被调用并且因此我也需要在此处添加header,但我不确定如何添加。@OverridepublicWebResourceResponseshouldInterceptRequest(WebViewview,WebResourceRequestrequest){if(Build.VERSION.SDK_INT>=Build.VERSION_CO

android - ClassNotFoundException 和 BIND_EXTERNAL_SERVICE 并与 Android WebView 一起崩溃

一个极其简单的应用程序,API级别24(Android7.0),尝试在实际物理设备上的唯一Activity中加载WebView,在日志中提供以下内容并停止应用程序:I/cr_DRP:NoDRPkeyduetoexception:java.lang.ClassNotFoundException:com.android.webview.chromium.Drp和W/System.err:java.lang.SecurityException:BIND_EXTERNAL_SERVICEfailed,ComponentInfo{com.android.webview/org.chromium.

android - 对话框中的 WebView(加载 Assets )且未布局

我在Android2.2上,我正在创建一个对话框,里面有一个WebView:@OverrideprotectedDialogonCreateDialog(intid){Dialogdialog=newDialog(this);//.....dialog.setContentView(R.layout.dialoghelp);WebViewv=(WebView)dialog.findViewById(R.id.helpWebView);v.loadUrl("file:///android_asset/help.html");//......returndialog;}它工作正常,但我第一

android - 带 iframe 的视频不显示在 Android Webview 上

我正在开发Android项目(API级别8),显示来自另一个网站的WebView,我无法更改这些网站的代码。在某些未启用强制GPU渲染(在设置-->开发人员选项中)的设备上,我在WebView中遇到视频剪辑问题。以下代码是我从网站上看到的代码和在Android方面,我已经启用了几个设置webview.setWebChromeClient(newWebChromeClient());webview.setWebViewClient(newWebViewClient());webview.getSettings().setJavaScriptEnabled(true);webview.ge

Android - 在 Webview 中下载并安装 apk 文件

我正在尝试为我的移动网站制作一个简单的WebView。该网站上有应用程序链接.apk,我需要检测用户何时单击这些链接。点击后文件会下载到SD卡,如果要安装则需要formuser..我已经阅读了很多解决方案,但还没有找到可行的解决方案。现在一切都很好地检测.apk文件,但它似乎在第二个为那些下载链接打开默认浏览器然后关闭,我不知道如何自动形成安装下载后。MyCode我用过的。 最佳答案 通常,嵌入式webview不会拥有普通浏览器所具有的所有功能。因此,一旦您点击了apk,您就必须执行以下操作之一通过AndroidDownloadMa

android - Android webview 中的 setUserAgentString 对 loadURL() 中使用的 HTTP header 没有影响

一直在尝试更改Android应用的HTTP请求中的用户代理字符串。我已经与wireshark和模拟器一起对此进行了测试,并且发现虽然我在webview中设置了用户代理字符串,但关联的loadUrl请求不使用此用户代理字符串。相反,我在wireshark捕获中看到了Dalvik用户代理字符串。这是代码摘要。有任何想法吗?还是模拟器不支持?@Overridepublicvoidrun(){assert(context!=null);......webView=newWebView(context);...StringdefaultUserAgent="betaUAteststring";/

android - 从 Android Webview 获取 POST 数据

我在我的android应用程序中使用支付网关。我正在使用webview加载支付页面。我提供了一个指向支付网关的重定向URL,确认付款后webview将被重定向到该地址。银行的确认(成功/失败)将回传到此URL。我可以将我的webview重定向到此URL以向客户显示交易成功。我需要获取发送到重定向URL的POST数据。如果交易成功,我需要在我的应用程序中下订单。我目前正在做的是,我正在检查重定向url,是否用于成功交易。我想知道是否有任何其他方法可以用来查询我的交易状态?这是我的代码,mWebview=(WebView)findViewById(R.id.webView1);mWebvi

Flutter横屏实践

1、Flutter设置横屏//强制横屏SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft,DeviceOrientation.landscapeRight]);//强制竖屏SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp,DeviceOrientation.portraitDown]);另外建议1、把所有横竖屏调用封装到一个方法中,便于维护2、开启放super后面,关闭放super前面@overridevoidinitS

android - 如何在 Android WebView 渲染之前修改内容?

我正在为Android制作一个自定义的简单网络浏览器,需要捕获用户浏览的每个页面的内容并在呈现之前对其进行操作,以便它按预期显示。我不想破坏用户登录状态和交互,所以我不想拦截POST请求或cookie。据我所知,我可以将内容放入loadDataWithBaseURL()。但是,为了获得更好的用户体验,我想在用户看到之前获取内容并进行操作,如果可能的话,在下载图像之前(如JS中的DOMReady),但不知道如何去做。什么地方最好听,如何获取当前的webview内容?由于我是Android开发的新手,所以我一直在寻找解决方案的好建议。谢谢。 最佳答案