aaaaaaaaaaaa
代码改变世界

android js与控件交互初探。

2018-01-16 09:45  二进制乐谱  阅读(274)  评论(0编辑  收藏  举报

1.创建一个mainacvity 在oncreate中加入,

mWeb是一个webview组件,网络权限记得自己加.
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

 


 
1 mWeb.setWebViewClient(new WebViewClient(){
2     @Override
3     public boolean shouldOverrideUrlLoading(WebView view, String url) {
4         //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
5         view.loadUrl(url);
6         return true;
7     }
8 });
9 mWeb.addJavascriptInterface(new MainActivity(),"mainactivity"); //创建js与代码交互接口对象

mWeb.loadUrl("file:///android_asset/i.html"); //加载assert下的i.html
 

 

mainactivity,方便 js访问此对象,直接写this应该也可以


mainactivity实现test方法如下:
 
@JavascriptInterface//api 17以上必须加入这行,否则调不起来

public
void test(final String destActivity) { //Toast.makeText(this, "对不起,跳转页面出现异常", Toast.LENGTH_SHORT).show(); Log.d("111", "111111111111111111"); }

 



i.html中内容如下:就是调用上面这个对象的test方法,
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript">

    </script>

    <title></title>
</head>
<body>
<input type="button" value="返回安卓的某一个界面" onclick="window.mainactivity.test('')"/>

</body>
</html>

 




最终按钮会换发activity中的test方法

aaaaaaaaaaaaa