android js 互调
2015-09-01 17:55
429 查看
public class BoatsActivity extends Activity { Handler mHandler = new Handler();//处理消息的handler @SuppressLint("SetJavaScriptEnabled") protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setTitle("船舶查询页面"); final WebView mWebView = new WebView(this);//创建一个webView对象出来 将他作为activity的显示页面 你也可以在xml布局文件中放入一个webView控件在这里初始化 setContentView(mWebView); mWebView.loadUrl("http://192.168.0.190:8080/loginDemo_gd/bots.html");//加载你要显示的网页 mWebView.getSettings().setJavaScriptEnabled(true);//获取webview对象中的setting对象 设置为可以支持javascript mWebView.addJavascriptInterface(new Object() { @JavascriptInterface//sdk版本大于17要加上这句注解 访问安全考虑 public void clickOnAndroid() { mHandler.post(new Runnable() { public void run() { Toast.makeText(BoatsActivity.this, "请输入你要查询的船舶", Toast.LENGTH_SHORT).show(); } }); } @JavascriptInterface public void showmsg(){ mHandler.post(new Runnable() { public void run() { Toast.makeText(BoatsActivity.this, "查询成功", Toast.LENGTH_SHORT).show(); } }); } @JavascriptInterface public void showResult(){ mHandler.post(new Runnable() { public void run() { Toast.makeText(BoatsActivity.this, "没有查询到对应的数据", Toast.LENGTH_SHORT).show(); } }); } @JavascriptInterface public void alert(){ mHandler.post(new Runnable() { public void run() { Toast.makeText(BoatsActivity.this, "请输入船舶的ID", Toast.LENGTH_SHORT).show(); } }); } }, "demo");//类的别名 js这样调用 window.demo.方法名(js调用java方法)
//java调用js
webView.loadUrl("javascript:window.handler.show(document.getElementById('id').value,document.getElementById('password').value)");
mWebView.setWebViewClient(new WebViewClient(){ @Override public void onPageFinished(WebView view, String url) { //Toast.makeText(BoatsActivity.this, "加载完成", Toast.LENGTH_SHORT).show(); super.onPageFinished(view, url); } }); } }
相关文章推荐
- Android SQLite数据库学习
- Android 入门(3)
- android 开发Parcelable 怎么传值ArrayList
- Android用户界面优化-Android SlidingMenu菜单栏程序设计开发
- AndroidStudio插件GsonFormat快速实现JavaBean
- [转]ArcGIS Runtime SDK For Android 授权方法(去除水印)
- 属性资源与Android命名空间
- android 无法生成R文件的原因
- Android 屏幕适配方式
- 支持Android4.0以下webp的使用
- Android 屏幕旋转操作Demo
- android 实现滤镜效果
- android中保存一个ArrayList到SharedPreferences的方法
- android 安全之——文件加密jni实现
- Android开发者必知的开源库
- 强烈推荐android studio用的几个插件
- Android Spinner 的具体用法
- Android图片高斯模糊的一些方法
- Android通过第三方应用将自己的应用信息分享出去
- [工作笔记之三] 通过adb查看android手机CPU和内存占用情况