最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Android与js交互实例

来源:动视网 责编:小OO 时间:2025-10-03 09:54:35
文档

Android与js交互实例

Android与js交互实例Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为trueAndroid(Java)与JavaScript(HTML)交互有四种情况:1)Android(Java)调用HTML中js代码2)Android(Java)调用HTML中js代码(带参数)3)HTML中js调用Android(Java)代码4)HTML中js调用Android(Java)代码(带参数)下面示例总结这四种情况,直接
推荐度:
导读Android与js交互实例Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为trueAndroid(Java)与JavaScript(HTML)交互有四种情况:1)Android(Java)调用HTML中js代码2)Android(Java)调用HTML中js代码(带参数)3)HTML中js调用Android(Java)代码4)HTML中js调用Android(Java)代码(带参数)下面示例总结这四种情况,直接
Android与js交互实例 

Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true

Android(Java)与JavaScript(HTML)交互有四种情况:

1) Android(Java)调用HTML中js代码

2) Android(Java)调用HTML中js代码(带参数)

3) HTML中js调用Android(Java)代码

4) HTML中js调用Android(Java)代码(带参数)

下面示例总结这四种情况,直接上干货:

1) Android(Java)

package com.homer.jsandroid;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.View;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.widget.Toast;

public class JSAndroidActivity extends Activity {

    private Activity mActivity = null;

    private WebView mWebView = null;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        mActivity = this;

        showWebView();

    }

    @SuppressLint("SetJavaScriptEnabled")

    private void showWebView() {

        try {

            mWebView = new WebView(this);

            setContentView(mWebView);

            mWebView.requestFocus();

            mWebView.setWebChromeClient(new WebChromeClient() {

                @Override

                public void onProgressChanged(WebView view, int progress) {

                    JSAndroidActivity.this.setTitle("Loading...");

                    JSAndroidActivity.this.setProgress(progress);

                    if (progress >= 80) {

                        JSAndroidActivity.this.setTitle("JsAndroid Test");

                    }

                }

            });

            mWebView.setOnKeyListener(new View.OnKeyListener() { // webview can

                                                                    // go back

                @Override

                public boolean onKey(View v, int keyCode, KeyEvent event) {

                    if (keyCode == KeyEvent.KEYCODE_BACK

                            && mWebView.canGoBack()) {

                        mWebView.goBack();

                        return true;

                    }

                    return false;

                }

            });

            WebSettings webSettings = mWebView.getSettings();

            webSettings.setJavaScriptEnabled(true);

            webSettings.setDefaultTextEncodingName("utf-8");

            mWebView.addJavascriptInterface(getHtmlObject(), "jsObj");

            mWebView.loadUrl("http://10.0.2.2:8080/myweb/index05.html");

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    private Object getHtmlObject() {

        Object insertObj = new Object() {

            public String HtmlcallJava() {

                return "Html call Java";

            }

            public String HtmlcallJava2(final String param) {

                return "Html call Java : " + param;

            }

            public void JavacallHtml() {

                runOnUiThread(new Runnable() {

                    @Override

                    public void run() {

                        mWebView.loadUrl("javascript: showFromHtml()");

                        Toast.makeText(JSAndroidActivity.this, "clickBtn",

                                Toast.LENGTH_SHORT).show();

                    }

                });

            }

            public void JavacallHtml2() {

                runOnUiThread(new Runnable() {

                    @Override

                    public void run() {

                        mWebView.loadUrl("javascript: showFromHtml2('IT-homer blog')");

                        Toast.makeText(JSAndroidActivity.this, "clickBtn2",

                                Toast.LENGTH_SHORT).show();

                    }

                });

            }

        };

        return insertObj;

    }

}

2) js(HTML)

jsandroid_test

hello IT-homer














运行结果:

文档

Android与js交互实例

Android与js交互实例Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为trueAndroid(Java)与JavaScript(HTML)交互有四种情况:1)Android(Java)调用HTML中js代码2)Android(Java)调用HTML中js代码(带参数)3)HTML中js调用Android(Java)代码4)HTML中js调用Android(Java)代码(带参数)下面示例总结这四种情况,直接
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top