Android 调用Js方法, js回调Android方法
2016-05-26 16:45
453 查看
Android native和webview中js交互主要是用android注解js方法。主要实现如下:直接上代码
js代码为:
native代码为:
native调用js的dealWithRequest方法,并传入参数;js返回数据并且调用startFunction方法。
js代码为:
<!doctype html> <html><head> <style type='text/css'> html { font-family:Helvetica; color:#222; } h1 { color:steelblue; font-size:24px; margin-top:24px; } button { margin:0 3px 10px; font-size:12px; } .logLine { border-bottom:1px solid #ccc; padding:4px 2px; font-family:courier; font-size:11px; } </style> </head><body> <h1>WebViewJavascriptBridge Demo</h1> <script> function dealWithRequest(data) { return "hello"; } </script> </body></html>
native代码为:
public class WebViewActivity extends AppCompatActivity{ private WebView webView; @Override public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { super.onCreate(savedInstanceState, persistentState); webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setAppCacheEnabled(false); webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); webView.getSettings().setBlockNetworkImage(false); webView.getSettings().setBlockNetworkLoads(false); webView.clearCache(true); String url = " file:///android_asset/javas.html"; webView.addJavascriptInterface(new JavaScriptInterface(), "stub"); webView.loadUrl(url); webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); JsParse("hello"); } }); } public void JsParse(String data){ String url = "javascript:stub.startFunction(dealWithRequest('" + data + "'));"; webView.loadUrl(url); } private class JavaScriptInterface { @JavascriptInterface public void startFunction(String result) { String aString = result; } } }
native调用js的dealWithRequest方法,并传入参数;js返回数据并且调用startFunction方法。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题