Articles of webview

Android Crosswalk Lite – Android Studio集成

我已经成功实现了Android Studio项目中的crosswalk webview项目。 基本上通过以下链接: https : //diego.org/2015/01/07/embedding-crosswalk-in-android-studio/ 熟悉实施人行横道的人知道,应用程序的大小增加了20-30mb。 出于这个原因,我一直在尝试整合精简版的人行横道。 这是+ – 10 MB,不幸的是没有成功。 正常的人行横道项目有一个maven版本可以在https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/ 精简版版本也有一个AAR版本在https://download.01.org/crosswalk/releases/crosswalk-lite/android/canary/,但没有POM文件,我不能在Android Studio中使用它。 现在我一直在尝试手动下载人行横道版本。 我创build了一个库项目,复制了所有相关的文件,创build了gradle文件并将其包含在一个小testing应用程序中。 到目前为止,一切似乎都没有问题。 应用程序编译。 所有类如XWalkView都可以在我的应用程序中使用。 运行应用程序的作品也是如此,除了webview是完全黑色的。 现在我认为它与libxwalkcore.so文件没有被加载的东西有关。 放在每个可以想象的文件夹(jar,jniLibs,lib等)中。 不工作。 在任何日志中没有错误。 问题我有,如果有人已经成功获得在Android Studio项目内工作的Lite版本。 顺便说一句。 crosswalk-lite图书馆应用程序的gradle文件包含: dependencies { compile files('libs/xwalk_core_library_java_library_part.jar') compile files('libs/xwalk_core_library_java_app_part.jar') }

Android中的WebView文本缩放问题

我在android中有一个文档阅读器项目。 主要活动包括一个WebView。 文本是从HTML阅读。 在顶部选项菜单中包含一个dynamic增加文本大小的button(文本正在打包)。 到目前为止如此清楚,但按下button时,文本大小有所增加,但所有文本都在屏幕上向下移动,按下button两次,文本大小增加,所有文本再次向下移动。 这种情况真的让读者感到沮丧。 阅读器按下button后,必须返回到停止的位置,以免阅读器丢失阅读位置。 如何解决这个问题呢? 问题: 解决问题的时候: 我的WebView的Html内容: <!DOCTYPE html> <head> <style type="text/css"> p{} p.x1{} p.x2{} p.x3{} p.x4{} h2.x1{} h2.x2{} h2.x3{} h2.x4{} </style> </head> <body> //paragraph-1 <p class="x1">Title-1</p> <p class="x2">Title-2</p> <p class="x3">Title-3</p> <p class="x4">Title-4</p> <p>Text content.</p> //paragraph-2 <h class="x1">Title-1</p> <h class="x2">Title-2</p> <p>Text content.</p> //paragraph-3 <h class="x3">Title-1</p> <h class="x4">Title-2</p> <p class="x3">Title-3</p> <p>Text content.</p> […]

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请求的数据,这使得这种方法对我无法使用。