得到网页上的点击事件在我的Andr​​oid应用程序 [英] get the click event from webpage in my android application

查看:285
本文介绍了得到网页上的点击事件在我的Andr​​oid应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

IAM创建具有button..this网页的样本网页正在使用的WebView调用机器人。

iam creating a sample webpage with button..this webpage am calling in android using webview.

现在当我点击网页上的按钮(即HTML按钮)。我应该能够执行C $ CS约$ android系统。

now when i click the button on webpage(that is html button). i should be able to execute some codes in android..

如何进行?

public class web extends Activity {
WebView mWebView;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webdisplay);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://localhost/test.html");
    valid = new Button(ctx);
    valid.setOnClickListener(this);
    refuse = new Button(ctx);
    refuse.setOnClickListener(this);


}

}

推荐答案

我们可以发现以下的HTML元素的Andr​​oid API文档。

We can detect following HTML elements as per Android API Document.

int     ANCHOR_TYPE     HitTestResult for hitting a HTML::a tag
int     EDIT_TEXT_TYPE  HitTestResult for hitting an edit text area
int     EMAIL_TYPE  HitTestResult for hitting an email address
int     GEO_TYPE    HitTestResult for hitting a map address
int     IMAGE_ANCHOR_TYPE   HitTestResult for hitting a HTML::a tag which contains HTML::img
int     IMAGE_TYPE  HitTestResult for hitting an HTML::img tag
int     PHONE_TYPE  HitTestResult for hitting a phone number
int     SRC_ANCHOR_TYPE     HitTestResult for hitting a HTML::a tag with src=http
int     SRC_IMAGE_ANCHOR_TYPE   HitTestResult for hitting a HTML::a tag with src=http + HTML::img
int     UNKNOWN_TYPE    Default HitTestResult, where the target is unknown 

我想你将能够使用的WebView的setOnTouchListener函数来获取所有事件。

I think you will be able to get all events using WebView's setOnTouchListener function.

的WebView有一个名为内部类<一href="http://developer.android.com/reference/android/webkit/WebView.HitTestResult.html">HitTestResult. HitTestResult类将帮助我们找到其中preSS的HTML元素,当用户点击的WebView。

WebView has inner class named HitTestResult. HitTestResult class will help us to find the HTML element which press when user click on WebView.

<一个href="http://developer.android.com/reference/android/webkit/WebView.HitTestResult.html">HitTestResult类只有两个方法。

  1. getExtra():它返回字符串。字符串具有点击用户HTML元素
  2. 的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() + "\t\t Type=" + hr.getType());
            return false;
        }
    });

编辑: 漱口完美的答案: <一href="http://stackoverflow.com/questions/4065312/detect-click-on-html-button-through-javascript-in-android-webview">Detect通过JavaScript在Android中的WebView点击HTML按钮

Edited : Refer for perfect answer : Detect click on HTML button through javascript in Android WebView

这篇关于得到网页上的点击事件在我的Andr​​oid应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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