Android调用WebView的JS和JS调用Android的方法
来源:互联网 发布:twitter第三方登录js 编辑:程序博客网 时间:2024/06/05 06:35
① Android调用WebView的JS
第一步,开启JS调用
WebSettings settings = webview.getSettings(); //设置与Js交互的权限 settings.setJavaScriptEnabled(true);
第二步,在HTML文件中写好要被调用的JS方法
function javaCallJs(params){ $('#closegrjkda').html(params);}
上面的params是从Android端传进去的参数
注意:这个JS函数必须是在全局范围的,这样才能被访问到,不要放进局部,例如:
$(function(){ //不能放进这里});
第三步,在Android直接调用
webview.loadUrl("javascript:javaCallJs('params')");
注意:参数的传递一定要严格按照JS的写法,例如上面传递一个字符串,必须加单引号,其次,如果要改变HTML中的UI,必须在主线程操作,如下
runOnUiThread(new Runnable() { @Override public void run() { Log.d(TAG, "run: "); webview.loadUrl("javascript:javaCallJs('params')"); }});
上面Android调用WebView的JS完成。
②JS调用Android的方法
第一步,先写一个JS接口类,如下:
public class JsInterface { /** * @JavascriptInterface 这个是一定要有的,否则不可以 * @param param */ @JavascriptInterface public void jsCallJava(final String param) { Log.d(TAG, "jsCallJava: "+ param); }}
注意: @JavascriptInterface 这个是一定要有的,否则调用失败
第二步,把上面写好的接口类,new 一个实例,传递到HTML页面
webview.addJavascriptInterface(new JsInterface(), "jsInterface");
注意:第二个参数,jsInterface 就是在HTML可以使用的实例,可以用jsInterface.jsCallJava(“123”)这样的方式调用函数。
第三步,在HTML直接调用
window.jsInterface.jsCallJava("jsCallJava");
注意:jsInterface就是传递过来的对象
至此,JS调用Android的方法完成
阅读全文
0 0
- Android调用WebView的JS和JS调用Android的方法
- Android webview和js的相互调用
- android webView调用js函数的几种方法
- android webView调用js函数的几种方法
- WebView之js调用Android类的方法传递数据
- android与js的调用(WebView)
- android WebView 和js互调用的使用说明。
- Android中WebView和JavaScript(JS)的互相调用
- android中webview调用js方法,js调用java方法
- Android Webview和JavaScript交互--JS调用Android方法
- android中webView JS调用Android的方法、webView的下拉刷新(SwipeRefreshLayout)、下载文件
- android 的webview调用php服务器js , js 调用Android的webview
- webview通过js调用android方法
- JS 调用IOS Android webview方法
- Android WebView java和js互相调用
- Android WebView详解和调用JS
- android 调用js 和js中调用android的实现
- android原生webview中调用JS方法并传递参数给JS遇到的问题
- hdu2256
- 暑假测试 Day 1
- hdu5775 sum
- 如何反射SubscriptionManager和TelephonyManager获取其方法
- 单点登录笔记
- Android调用WebView的JS和JS调用Android的方法
- Oracle学习总结--数据更新和事务控制
- 用栈实现图的深度优先搜索Java实现
- HUD.2544 最短路 (Dijkstra)
- HDU2717 Catch That Cow BFS
- jvm 之 内存溢出场景模拟
- LSTM GRU 得到所有的state 而不是最后一个state
- mysql中having的用法
- COGS 2487 膜法师