Android中js和原生交互

作者: 喜欢丶下雨天 | 来源:发表于2017-05-16 14:38 被阅读410次

加载webview的类

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        JavaScriptInterface JSInterface;
        WebView wv;
        wv = (WebView) findViewById(R.id.wv_test);
        wv.getSettings().setJavaScriptEnabled(true); ///------- 设置javascript 可用
        JSInterface = new JavaScriptInterface(this); ////------
        wv.addJavascriptInterface(JSInterface, "JSInterface"); // 设置js接口  第一个参数事件接口实例,第二个是实例在js中的别名,这个在js中会用到
        wv.loadUrl("file:///android_asset/test.html");
    }
}

JavaScriptInterface类


public class JavaScriptInterface {
    Context mContext;
    JavaScriptInterface(Context c) {
        mContext = c;
    }

    @JavascriptInterface
    public void doSomething() {
      //点击webwiew网页里按钮时候要做的事

    }
}

webview

<html>
<head>
<script type="text/javascript">
function displaymessage()
{
JSInterface.doSomething();
}
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onclick="displaymessage()" />
</form>
</body>
</html>

代码下载
Demo代码下载(AS导到Module里)

相关文章

网友评论

    本文标题:Android中js和原生交互

    本文链接:https://www.haomeiwen.com/subject/yajlxxtx.html