我们可以根据Android API文档检测以下HTML元素。
int ANCHOR_TYPE HitTestResult for hitting a HTML::a tagint EDIT_TEXT_TYPE HitTestResult for hitting an edit text areaint EMAIL_TYPE HitTestResult for hitting an email addressint GEO_TYPE HitTestResult for hitting a map addressint IMAGE_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag which contains HTML::imgint IMAGE_TYPE HitTestResult for hitting an HTML::img tagint PHONE_TYPE HitTestResult for hitting a phone numberint SRC_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag with src=httpint SRC_IMAGE_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag with src=http + HTML::imgint UNKNOWN_TYPE Default HitTestResult, where the target is unknown
我认为您将能够使用WebView的setOnTouchListener函数获取所有事件。
WebView具有名为HitTestResult的内部类。HitTestResult类将帮助我们找到当用户单击WebView时按下的HTML元素。
HitTestResult类只有两个方法。
- getExtra():返回字符串。字符串具有用户单击的HTML元素
- getType():返回整数。它用于标识用户单击了哪个HTML元素。
您可以像这样:
wv.setonTouchListener(new View.onTouchListener() { public boolean onTouch(View v, MotionEvent event) { WebView.HitTestResult hr = ((WebView)v).getHitTestResult(); Log.i(TAG, "getExtra = "+ hr.getExtra() + "tt Type=" + hr.getType()); return false; } });
编辑: 参考完美答案: 通过AndroidWebView中的javascript检测HTML按钮的单击
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)