问题标签 [webchromeclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4960 浏览

android - Android WebView WebChromeClient:onProgressChanged() 中的进度值不准确

我需要访问 WebView -> WebChromeClient -> onProgressChanged() 中的进度值。进度整数值不会从 0 增加到 100,而是跳跃。这是加载一个页面的示例日志输出和相关的进度号:

我究竟做错了什么?

代码:

0 投票
1 回答
262 浏览

android - 如何处理在 webChromeClient 回调中按下的按钮?

如何使webChromeClient()calss 的回调句柄和监听按钮?我遇到的问题是,我有一个button和一个edittext字段,它们都在 a 中RelativeLayout,并且在webView它们上方布局,所以我可以避免将显示网页的内容与button和混合edittext。具有edittext字段的目的是允许用户输入网页名称。并且拥有a的目的button是启动用户输入的网页。我还在webClientView回调中使用类和 toastonPageFinished来在网页完成加载时通知我。但是每当我按下button启动字段中指定的网页时edittext,回调onPageFinish甚至在网页完成加载之前总是被调用。例如,如果我在 中指定一个网站地址edittextbutton反复按 ,我将获得与按次数一样多的 toast 输出button。请参阅我在此处发布的问题,该问题几乎与同一问题有关。尽管它部分解决了我的问题,但当我编写应用程序的需求时,我意识到我在此处引用的问题的答案 是接缝的,或者是不够的。有没有办法使用webChromeView类来解决这个问题?如何?

Java代码:

0 投票
1 回答
1089 浏览

java - webview上的Android地理定位

我需要从 web 视图中获取用户的位置,并且它不要求我获得获取位置的权限。下面是我的 webview 代码:

网络视图设置

WebChrome客户端:

网络视图客户端:

它没有征求我的许可,我不知道为什么,任何人都可以看到我要去哪里错了吗?提前致谢!

0 投票
1 回答
5259 浏览

java - Android 请求在 webview 中使用位置的权限

我有一个使用 webview 的应用程序,并且 webview 内部是一张地图,我已经让它工作,用户可以使用以下代码自动找到用户位置:

清单文件权限:

网络视图活动:

网页视图设置:

网络视图客户端:

WebChrome客户端:

所以这是可行的,但它会自动获取用户的位置,而不提示用户应用程序是否可以使用位置服务。

有没有办法将此功能添加到应用程序?谢谢

0 投票
1 回答
614 浏览

java - 触发 WebChromeClient onRequestFocus

我正在尝试触发WebChromeClient.onRequestFocus()回调。为了获取有关何时调用的信息,我深入研究了 android 项目测试。

我从 2009 年开始搜索WebChromeClient 的测试用例,并创建了以下代码来重现测试行为,这似乎不起作用。

调试会话的 Logcat 确认调用onCreateWindow()onCloseWindow()函数,但没有onRequestFocus()调用。

有任何想法吗?

我使用 API 级别 19 (Android 4.4)

0 投票
0 回答
272 浏览

bitmap - WebChromeClient.onReceivedIcon 的图标稍后在 Android 4.4+ 中被回收

public void onReceivedIcon(WebView 视图,位图图标)

在我的代码中,当这个回调被调用时,我会保留一个图标的引用,它将保留很长时间。我需要将其显示为历史项目的图标,它适用于除 Android 4.4+ 之外的所有 Android 版本,在 4.4 中我遇到如下崩溃:

java.lang.RuntimeException: Canvas: 试图使用回收的位图 android.graphics.Bitmap@65189840

所以我的问题是,Android 4.4 会自动回收这个方法收到的图标吗?Android doc对此只字未提,在早期版本中似乎也没有做这项工作。有人知道吗?我只发现调用从 chromium/src/android_webview/native/aw_contents.cc#onReceivedIcon(const GURL& icon_url, const SkBitmap& bitmap) 函数开始,但是这个方法在哪里调用以及 SkBitmap 的回收发生在哪里???

铬中的一些相关代码是首选,在此先感谢。

0 投票
2 回答
5636 浏览

android - 未调用 Android WebView openFileChooser

我无法openFileChooser()工作。我不在 Android KitKat 上(我们知道这种方法在 4.4 上不再适用)。我尝试了不同的解决方案,但也没有用。

这是html:

这是我的 WebChromeClient 类:

您可以在 openFileChoser() 方法中看到这一行Log.i("WebChromeClient", "openFileChooser() called.");- LogCat 中没有任何内容。

和 onActivityResult():

你知道问题可能出在哪里吗?

0 投票
1 回答
1859 浏览

android - 设备android中的WebChromeClient不起作用

我有这个带有加载 webview 的代码,它使用谷歌浏览器的属性。

问题是 webview 的模拟器加载了一个包含 html5 的 url 并且它运行良好,但是在使用默认浏览器和 html5 属性的 android 设备上显然无法使用 url。

我如何才能在 android 设备中使用 Google Chrome 浏览器的属性而不是默认浏览器的属性?

有什么帮助吗?

谢谢

0 投票
1 回答
3414 浏览

android - Android 同时使用 WebViewClient 和 WebChromeClient

我需要操作 html 中的链接,所以我使用 WebViewClient 来完成它。问题是我有一些加载本地 html 页面的 iframe 并且它们没有被显示。但是,如果我使用 WebChromeClient 他们可以工作!

所以,我想同时使用它们,但它不起作用。似乎只有 webViewClient 有效,我不知道为什么。

我在清单中设置了 Internet 权限并写入外部存储(因为我的 html 位于存储中)并启用了硬件加速。

这是我的代码:

虽然在片段 OnCreateView 方法中(是的,我在 PageViewer 中使用 webview,但我认为知道这一点并不重要)。

0 投票
1 回答
374 浏览

android - 每小时运行一次以从 Webservice 获取数据并更新 localStorage webview chromeclinet 的 Android 服务

在我的 Android 应用程序中,我正在从中检索数据localStorage并显示在listview. 现在我希望它即使在应用程序关闭时也能从 web 服务中获取更新的数据。

我正在使用webchromeclient. 我已经尝试过服务,但它只从应用程序开始,localStorage当应用程序关闭或销毁时我无法与之交互,我试图在警报时触发服务

代码: