Articles of webview

@Android在WebView中显示/ res /可查看

我将HTML投射到webview进行渲染。 在HTML中,我需要加载/res/drawable的图像。 我有/res/drawable/https://stackoverflow.com/questions/2630829/android-display-res-viewable-in-webview/my_image.png和这样的代码: final WebView browser = (WebView) findViewById(R.id.my_webview); String html = new MyHelper(myObject).getHtml(); browser.loadDataWithBaseURL(“”, html, “text/html”, “UTF-8”, “”); String html含义如下: Here is the image 问题是,该图像的src属性应该指向/res/drawable的图像?

使用Webview / javascript的Android应用程序。 什么可以是安全问题?

我正在使用Webview和Javascript创建一个Android web应用程序,使addJavascriptInterface(true) 。 我的应用程序将内容将从外部站点加载的数据(html)。 当我启用addJavascriptInterface(true)时,我担心我的应用程序的跨站点脚本XSS /安全性 。 我应该注意哪些事情,以便任何恶意代码不应该在我的应用程序上运行?

使用WebView的loadData编码问题

我正在使用WebView加载一些包含latin-1字符的数据 String uri = Uri.encode(html); webview.loadData(uri, “text/html”, “ISO-8859-1”); 显示时,latin1字符将被奇怪的字符替换。 如果我直接在TextView中加载html(只是为了测试),就会正确显示拉丁字符。 有人可以帮忙吗? 谢谢 HTML:

错误膨胀类android.webkit.WebView偶尔会在生产中发生

我的应用程序在Google Play上,它在大多数设备上运行良好(数千名用户)。 但是在极少数情况下(每日活跃用户百分比的一小部分),当我在onCreateView方法中为我的片段onCreateView布局时,我得到了Error inflating class android.webkit.WebView 。 完整堆栈跟踪如下: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tapmedia.tapito/com.tapmedia.tapito.LockscreenActivity}: android.view.InflateException: Binary XML file line #20: Error inflating class android.webkit.WebView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2694) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.access$900(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5944) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) Caused by: android.view.InflateException: Binary XML file line #20: Error […]

在webview中加载保存在SD卡中的图像

使用以下代码 mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setAllowFileAccess(true); mWebView.getSettings().setJavaScriptEnabled(true); String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); String imagePath = base + “/test.jpg”; mWebView.loadUrl(imagePath); 图片没有加载…… 也试过了 mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setAllowFileAccess(true); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setBuiltInZoomControls(true); String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); String imagePath = base + “/test.jpg”; String html = “”; mWebView.loadData(html, “text/html”,”utf-8″); 请帮忙

webview无法从SD卡加载html文件

我正在尝试从SD卡加载一个html文件。 注意: – >如果我加载http://www.google.com它有效。 – >文件存在 – >我有互联网和WRITE_EXTERNAL_STORAGE的权限 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); addB = (Button) findViewById(R.id.add); webComp = (WebView) findViewById(R.id.webC); WebSettings webSettings = webComp.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); webSettings.setAllowFileAccess(true); webSettings.setLoadsImagesAutomatically(true); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webComp.setWebViewClient(new HelloWebViewClient()); webComp.loadUrl(“/sdcard/FMS/1/message.html”); } 谢谢 ! 🙂

WebView和localhost

我在我的WebView中获取google.com,但我没有得到我的localhost。 有谁能够帮助我?

使用WebView和浏览器进行YouTubevideoapi有何不同?

我已经实现了youtube api,它在普通计算机浏览器中按预期工作。 当我在冰淇淋三明治和姜饼中进行测试时,在库存浏览器(也就是Webkit)上,它的工作方式与在我的计算机上完全相同。 但是,当我将它加载到WebView时,它会遇到一些非常奇怪的行为。 具体来说,它加载所有播放器控件(播放按钮,进度条等)并触发所有正常事件以进行缓冲和播放,但随后不是播放,它只是跳到最后并显示标准的YouTube后播放图标其他video。 如果我点击其中一个图标,它会跳过该video并直接跳到该video的末尾。 我将setJavascriptEnabled和setPluginsEnabled都设置为true。 我想我错过了一些东西,因为它在股票浏览器中都运行良好,但我很难过它是什么。 有没有人在WebView中实现YouTubevideo播放器(或JWPlayer,或者我可以播放YouTubevideo的任何内容)? 如果是这样,请分享您如何设法让它发挥作用。 TIA [编辑]自发布此消息后,我实施了一个直接从YouTube检索video流的原生播放器。 这是令人难以置信的笨重,因为设备之间的碎片与他们可以/不能播放的文件相关*真的很大,而且由于没有办法让YouTube传递设备模型并让它返回相关的流,所以会发生什么流然后必须从数组中选择。 无论如何…重点是,这只是一个可怕的方法,我真的很想找出好的’嵌入式播放器解决方案,因为它必须工作,因为它在股票浏览器中工作。 这可能是标题问题吗?

Android 4.4在没有用户参与的情况下打印到PDF

我正在开发一个应用程序(Android 4.4 – API 20),我正在生成HTML格式的报告。 我使用WebView对象在我的应用程序中显示报告。 我希望能够做的是将此WebView转换为pdf文档。 我已经能够使用PdfDocument转换它,并从WebView对象执行.draw到页面。 我保存文件,这是有效的,除了结果是单页文档。 没有分页符。 View content = (View) webView; PrintAttributes pdfPrintAttrs = new PrintAttributes.Builder(). setColorMode(PrintAttributes.COLOR_MODE_MONOCHROME). setMediaSize(PrintAttributes.MediaSize.NA_LETTER.asLandscape()). setResolution(new Resolution(“zooey”, PRINT_SERVICE, 300, 300)). setMinMargins(PrintAttributes.Margins.NO_MARGINS). build(); PdfDocument document = new PrintedPdfDocument(mContext,pdfPrintAttrs); PageInfo pageInfo = new PageInfo.Builder(webView.getMeasuredWidth(), webView.getContentHeight(), 1).create(); Page page = document.startPage(pageInfo); content.draw(page.getCanvas()); document.finishPage(page); 如果我更改它以便我使用PrintedPdfDocumet并且不指定PageInfo我只获取WebView对象的可查看部分。 View content = (View) webView; PrintAttributes pdfPrintAttrs […]

如何删除Android WebView打印添加的保证金?

我们尝试通过谷歌云打印打印webview内容,但无论我们做什么,结果打印输出都会增加一些余量。 有没有办法删除这个保证金? 我们尝试了: 然后 然后 mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 没人工作……