如何区分URL格式用户点击或自动跳跃机器人的WebView [英] how to distinguish url form user clicking or automatic jump in android webview

查看:136
本文介绍了如何区分URL格式用户点击或自动跳跃机器人的WebView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的WebView,我得到的所有URL在webViewClient方法

In my webview , I get all url in the webViewClient method

公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){}

我想扔的URL到其他应用程序,如果该URL是从用户点击。否则的WebView加载的URL self.But我无法分辨them.How我应该怎么办?

I want to throw the url to other application if the url is from user clicking. Otherwise webview load the url self.But I can't distinguish them.How should I do?

感谢您的帮助!

推荐答案

我按照<一的方法href="http://stackoverflow.com/questions/5116909/how-i-can-get-onclick-event-on-webview-in-android">How我可以得到的WebView onclick事件中的android?。

有使用dispatchTouchEvent 的Andr​​oid singleTap /的OnClick一些替代品的WebView

there are some alternatives using dispatchTouchEvent Android singleTap/OnClick in WebView

Boolean changedUrl = false;
String currentUrl = null;

webView.setWebViewClient(new WebViewClient() {

    @Override
    public void onPageFinished(WebView view, String url) {
        changedUrl = false;
        currentUrl = webView.getUrl();
    }

   // change either onPageStarted or shouldOverrideUrlLoading
     @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        if(changedUrl && !url.equals(currenturl)) {
              // page has been clicked
        }

    }

    @Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
    if(changedUrl && !url.equals(currentUrl)) {
          // page has been clicked

          return true;
    }

    return false;
}


 });

webView.setOnTouchListener( new View.OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (v.getId() == R.id.webView && event.getAction() == MotionEvent.ACTION_DOWN){

              changedUrl = true;

        }

        return false;
    }
});

这篇关于如何区分URL格式用户点击或自动跳跃机器人的WebView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆