Articles of webview

Android的webview页面重新加载后捕获图片和上传在Android 5 +

我跟着这个在webview中捕捉图像forms的相机 在这个部分在Android中的一些版本,并在一些设备的罚款 但在android 5.0.1时,我从webview捕获图像捕获和重新加载页面中,我再次redirect到login页面 所以我无法上传,但在Huvai P9它的手机罚款与Android 6+的工作正常它保持良好,上传图像可以任何一个build议我该怎么做 更新1 现在我尝试了很多其他的方式 但它不工作在一些设备请帮助,但在一些设备,其工作正常…

如何在网页视图中加载的网页进行replace

我正在使用webview实现一个应用程序。 对于在web视图中加载的url,我需要执行一个replaceurl代码加载的html代码。 我怎样才能有效地做到这一点? 说明:我需要从源代替特定的脚本脚本: 例如:我想 <html> <script> SCRIPT A</script> <p>Hello World</p> </html> 我想显示其他用户 <html> <script> SCRIPT B</script> <p>Hello World</p> </html> 谢谢

暂停WebViewvideo而不是整个WebView

我有一个带有YouTubevideo和3个选项卡的WebView 。 YouTubevideo在第一个选项卡中可用,而在另外两个选项卡中则有一个内容。 现在我想暂停video,当用户移动到其他选项卡。 我曾尝试过 webView.onPause(); 和 Class.forName("android.webkit.WebView") .getMethod("onPause", (Class[]) null) .invoke(webView, (Object[]) null); 但它是暂停整个WebView和我的其他2个选项卡也没有响应。 如何停止video而不是整个WebView过程

WebView – 无法下载文件,而不需要两次?

如果我使用DownloadListener侦听,那么在浏览器已经请求它之后 ,我会得到我需要的URL。 浏览器已经打开了一个连接到URL(这是如何知道这是一个下载),为什么不能通过我的连接? 我也尝试将自定义的WebViewClient分配给WebView并在请求之前使用shouldOverrideUrlLoading来捕获URL。 以这种方式下载文件,我在浏览器之前请求每个URL,并由它的Content-Type决定是否下载,如果是,则从已经打开的连接下载,否则closures连接并指示浏览器加载它,浏览器…再次请求它。 另外,在shouldOverrideUrlLoading我没有告诉我应该使用哪种方法和什么cookie来请求给定的URL。 我怎样才能不必要地请求两次,仍然可以用WebView下载文件?

为什么我无法在Android WebView的HTML AudioElement中设置currentTime和duration等于0?

请原谅我,但是当我写这个问题的时候,有一些想法出现了,所以这个问题可能看起来像事件的日志,但是你可以放心地跳到TL,DR部分。 我有一个AAR模块,在这个模块中,我使用WebView来显示页面,并根据上下文以不同的开始时间播放audio文件。 我有两个testingAAR模块的应用程序:一个testing应用程序,它是运行该模块所需的基本骨骼,还有一个真正的应用程序,需要一段时间才能通过应用程序stream程进入模块部分。 我被通知了几个testing设备上的错误,audio播放始终从0开始,而不介意使用的audio元素currentTime设置。 这里是我的代码,处理播放: var instance = this; this.playbackCurrentAudioPath = newBufferPath; this.playbackCurrentAudio = document.createElement('audio'); this.playbackCurrentAudio.src = this.playbackCurrentAudioPath; this.playbackCurrentAudio.oncanplaythrough = function () { console.log("file loaded, try to play " + instance.playbackCurrentAudio); instance.loaded = true; // checked here, instance.playbackCurrentAudio.duration is equal 0 instance.playbackCurrentAudio.currentTime = audioTrackBeginTime; // instance.playbackCurrentAudio.currentTime is equal 0 instance.playbackCurrentAudio.play(); // playback starts from the […]

如何使用dip在webview css中指定图像大小?

我有一个通过CSS文件格式化的WebView – 我dynamic地从应用程序中为这个视图生成HTML,就像Web服务器一样。 生成的HTML引用一个静态的CSS文件进行格式化。 我有一个图像格式化指令,如: img { width: 20px; height: 20px; } 为了使这个设备独立,我想使用dip而不是px来进行宽度和高度的测量。 我无法弄清楚(也没有find)如何在CSS定义中指定dip作为单位。 我尝试过“dp”和“dip”,两者都不起作用。 可以这样做吗? 我知道我可以通过一个<“target-densitydpi = high-dpi”>types的select器来select多个版本的CSS文件,但这意味着我将有CSS文件的副本,只是为了根据不同的器件密度。 可以,但是我希望能够在CSS文件中指定dip,并让WebView为我完成工作。 也可以在HTML头中生成内联样式表,并将特定设备的dip转换为px,但这会导致CSS定义和HTML生成代码之间的耦合。 可能比多个CSS文件(用于我的应用程序)更好,但是在CSS文件中设置dip并完成它会好得多。 (我的图像被devise为允许在当前支持的屏幕密度范围内没有伪影的大小调整)

validationDropbox离开浏览器

我试图让我的应用程序上传一个Dropbox上的文件,我下载了他们的DBRoulettetesting程序,但我也发现那里有我现在要解释的奇怪行为 基本上,一旦你按下buttonauthentication的应用程序,并授权它与您的Dropbox链接有一个命令库提供的是 私人DropboxAPI mApi; 。mApi.getSession()startAuthentication(上下文); 一旦处理了这个命令,本地浏览器就会打开,并显示button拒绝或允许接受或不接受授权,但问题是,当你按下它时,应用程序回来并显示自己,而本地浏览器在后台,准备就绪一旦你退出应用程序,再次出现,这是相当烦人的(虽然它只是第一次启动应用程序) ps之前,我忘了我在onResume中使用教程中build议的以下代码 session.finishAuthentication(); 感谢任何能帮助我更好地理解这个问题的人(希望)能够解决它在Webview中redirect授权,或者在按下button并且处理完authentication之后closures本机浏览器

在Android 4 ICS上使用SSL客户端证书的WebView

我在Android上的本地WebView有问题。 我需要使用SSL客户端证书与网站进行身份validation。 Android WebView似乎不支持这一点。 作为解决方法,我使用了WebView的修改版本: https://github.com/yonekawa/webview-with-client-certificate 修改后的WebView通过将正确configuration的SslSocketFactory注入到标准Android WebView中来工作。 这在Android 2.x设备上正常工作。 但是,使用Android 4 ICS,它不再工作。 SslSocketFactory在ICS中仍然存在,但似乎不再使用。 所以我的问题是:有谁成功地在ICS上configurationAndroid WebView,以便它可以与客户端证书一起使用? 或者有其他的select吗? 我已经尝试过了: 将SSL客户端证书导入到Android密钥存储库中,并仅使用WebView而不做任何修改。 这不起作用,客户端证书不会与请求一起发送。 不过,它在本地浏览器中工作。 使用HttpClient自己创buildSSL连接,获取网站的HTML并将其交给WebView。 这基本上工作,但我需要拦截WebView所做的所有请求,并自己处理它们。 但是,WebView不提供POST请求的数据,这使得这种方法对我无法使用。

Android:使用WebView播放资产声音

我尝试从用户点击应用程序的WebView上的标记时从资源文件夹播放声音。 我发现我可以使用一个扩展WebViewClient的新类来检测链接的扩展,如果它是一个mp3文件,它可以通过默认的audio播放器播放它。 但是我希望它能在活动中发挥作用,而不必开始新的活动。 我使用了以下链接作为参考: Webview中的声音和使用Uri或资产中的文件创buildMediaPlayer时出错 但它没有工作。 我试着用下面的代码来做到这一点: package com.rangga.test.webview.sound; import android.content.Intent; import android.content.res.AssetFileDescriptor; import android.media.MediaPlayer; import android.net.Uri; import android.webkit.WebView; import android.webkit.WebViewClient; public class MyWebViewClient extends WebViewClient{ public MediaPlayer mp; @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ if(url.endsWith(".mp3")){ mp = new MediaPlayer(); AssetFileDescriptor afd = getAssets().openFd(url); mp.setDataSource(afd.getFileDescriptor()); mp.start(); return true; }else{ return true; } } } […]

如何允许从离子webview复制和粘贴?

我正在使用离子和cordova来build立一个混合应用程序。 不过,我无法复制我的任何网页浏览的文字。 从我的Android手机或浏览器中,复制文本不起作用。 select文本并拖动指针不起作用。 这发生在ionic start myApp tabs生成的基本应用程序的情况下。 简单地说,我怎样才能让用户复制粘贴?