如何检测webview中的点击按钮,视频元素?

时间:2014-05-09 08:41:10

标签: android webview touch

我可以使用webview.onTouch事件上的WebView.HitTestResult在html中检测一些事件(http://developer.android.com/reference/android/webkit/WebView.HitTestResult.html#constants)。我试图实现的是,当用户点击webivew中的任何地方时,如果它没有启动任何操作,如播放/暂停视频,重定向某些页面等,然后在同一活动中切换页脚linearLayout的可见性。但是我无法捕捉到一些动作,比如点击按钮,在webview中播放/暂停视频元素按钮。那么我怎么才能发现这些行为?

   webView.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            WebView.HitTestResult hr = ((WebView) v).getHitTestResult();

            if (hr != null) {
                Log.w("webView.onTouch", "getExtra = " + hr.getExtra() + "\t\t Type=" + hr.getType());
            } else {
                Log.w("webView.onTouch", event.toString());
            }

            return false;
        }
    });

1 个答案:

答案 0 :(得分:0)

你必须Atleast获取元素名称或Id或类或任何属性来设置onClick属性如果你知道它然后使用Javascript为onClick添加属性真的很容易

Webview webview;
.....

您的代码或其他任何内容   ...         webview.addJavascriptInterface(new javasctiptinterface(),“javasciptinterfaceCall”);

  webview.setWebViewClient(new WebViewClient(){
    public void onPageFinished(WebView view, String url) {

            view.loadUrl("javascript:document.getElementsByName('Element_NameAttribute_Value')[0].setAttribute('onClick','javascriptinterfaceCall.clicked()');");




        }
   });


    Class javasctiptinterface{
@javascriptinterface
public void clicked(){
... Your Code ......
}