Android 与js交互(一)

来源:互联网 发布:ubuntu u盘制作工具 编辑:程序博客网 时间:2024/05/23 18:47

先写一个网页推荐使用两款js工具

一个是国产的hbuild可以写简单的网页

一个是westorm或者idea工具是国外的

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>testandroid</title><script type="text/javascript">function jsfunc1(){document.getElementById('content').innerHTML='sss'console.log('sss')}function jsfunc2(arg){document.getElementById('content').innerHTML=arg}</script></head><body><h1><div id="content">内容显示</div></h1><br/><input type="button"  value="点击调用java代码" onclick="window.android.Func1()" /><br/><input type="button"  value="点击调用java代码并传递参数" onclick="window.android.Func2('我是帅哥')"  /></body></body></html>
放在asset文件夹中,里面定义了两个未调用的方法在Android中可以调用

通过loadurl调用js方法

  web.loadUrl("javascript:jsfunc1()");
  public void click(View view) {        switch (view.getId()){            case R.id.bt1:                web.loadUrl("javascript:jsfunc1()");                break;            case R.id.bt2:                web.loadUrl("javascript:jsfunc2('func2')");                break;        }    }
    @SuppressLint("JavascriptInterface")    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        web = ((WebView) findViewById(R.id.webview));        web .getSettings().setJavaScriptEnabled(true);        web.loadUrl("file:///android_asset/index.html");        //>17        web.addJavascriptInterface(MainActivity.this,"android");    }    @JavascriptInterface    public void Func1(){        Toast.makeText(MainActivity.this, "f1", Toast.LENGTH_SHORT).show();    }    @JavascriptInterface    public void Func2(String str){        Toast.makeText(MainActivity.this,str, Toast.LENGTH_SHORT).show();    }
上面两个方法使用注解后可在html中调用Android的方法了

注意:

1.window..android这个android必须和Android中的参数android一样,但是可以随便写

2.js调用的方法需要写@Javascriptinterface注解

参考了这篇博客学习的

http://blog.csdn.net/leejizhou/article/details/50894531/






0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米5手机变卡了怎么办 小米5变卡了怎么办 小米手机充电无反应怎么办 小米6相机卡顿怎么办 华为手机玩游戏发热怎么办 华为手机变慢了怎么办 华为p10手机变慢怎么办 华为手机账户密码忘记了怎么办 QQ浏览器无法加载插件怎么办 电脑开了机黑屏怎么办 扫描仪打不开运单扫描怎么办 打印机不支持64位系统怎么办 xp系统dnf闪退怎么办 w10电脑所有程序都打不开怎么办 安卓手机太卡怎么办 系统装到f盘了怎么办 虚拟机占c盘内存怎么办 外机连无线虚拟机显示受限怎么办 使用msdn下载解压后怎么办 路由80端口被占用怎么办 c盘拒绝粘贴文件怎么办 oracle数据库密码忘了怎么办 电脑开机时不显示用户名怎么办? xp系统忘记开机密码怎么办 电脑开机密码忘了怎么办 c盘满了怎么办win10 win10电脑开机密码忘了怎么办 win10的开机密码忘了怎么办 u盘中了exe病毒怎么办 眼睛长个麦粒豆怎么办 苹果手机sdk授权失败怎么办 小米5王者荣耀卡怎么办 华为p9手机电池不耐用怎么办 华为g9青春版耗电快怎么办 华为手机摄像头坏了怎么办 华为p10摄像头玻璃划痕怎么办? 华为g9手机音量小怎么办 华为7pius太卡怎么办 华为畅享7plus卡怎么办 华为p9屏幕进水变颜色怎么办? 玩王者荣耀卡退怎么办