android:webview中如何监听用户操作记录并获取其记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android:webview中如何监听用户操作记录并获取其记录相关的知识,希望对你有一定的参考价值。

参考技术A webview中是无法做到的,除非这个html页面是由你写的,用户输入结束,HTML上调用你提前插入的JS告知到你的app,你再去做记录。

PS:如果webview有这种功能,谁还敢用呢,用你的webview游览一些需要输入账号密码的页面,不是都被你盗取了?
参考技术B 你可以设置输入框的改变事件,也可以给那个确认按钮添加监听,这个就不用我说了吧,网上一搜一大把,你所做的就是在按钮点击后跳转,并获取输入框中的输入信息,并保存起来就可以了。如保存在List中,每点击一次,你就把记录的信息add进去就可以了

如何避免缩放android webview

【中文标题】如何避免缩放android webview【英文标题】:How to avoid scaling of android webview 【发布时间】:2011-04-01 02:44:59 【问题描述】:

有什么办法可以防止 android webview 缩放呈现的网页。 我需要加载一个包含指向其他页面的链接的 url。当用户单击这些链接时,与默认处理相同网页相比,呈现的页面没有正确对齐(我的意思是它会限制屏幕宽度和高度内的所有内容)安卓浏览器。

当我评论 shouldOverrideUrlLoading 时对齐是正确的,但我需要在我的应用程序中进行重定向,所以我无法避免覆盖 shouldOverrideUrlLoading。是否还有其他选项遗漏。

当我覆盖 shouldOverrideUrlLoading 时,第一张图片显示了我的应用程序中的 webview 渲染页面,第二张图片在评论 shouldOverrideUrlLoading 后显示了相同的屏幕。

【问题讨论】:

您确定这是缩放问题而不是 CSS 问题吗? 【参考方案1】:

试试这个:

webview1.getSettings().setBuiltInZoomControls(false);
webview1.getSettings().setSupportZoom(false);
webview1.setInitialScale(100);

【讨论】:

【参考方案2】:

在元标记中尝试这样做

meta name="viewport" content="target-densitydpi=device-dpi"

这应该会停止 android 默认缩放

【讨论】:

元标记 target-densitydpi 已从 WebKit 规范中删除。您将在 JellyBean 设备上遇到问题。请参阅此question 或此blog post。【参考方案3】:

如果您需要一些缩放,例如,这会将页面缩放到 web 视图中其原始大小的 50%:

wv.getSettings().setSupportZoom(true);
wv.getSettings().setUseWideViewPort(true);
wv.setInitialScale(50);

【讨论】:

感谢 sephy,但 setInitialScale 无效。我仍然想知道原因。我认为 css 没有问题,因此它可以在 Android 浏览器中完美加载。

以上是关于android:webview中如何监听用户操作记录并获取其记录的主要内容,如果未能解决你的问题,请参考以下文章

android webview 怎样监听HTML中的按钮并得到按钮的url

Android:WebView 触摸事件监听器

通过Android WebView中的javascript检测点击HTML按钮

如何将android webview保持在后台(使用位置)

android webview如何获取网页输出的提示信息

Android webview如何检测何时重新加载