web端通过javascript调用android方法打开新的页面
2015-11-04 14:32
579 查看
android端写一个类,提供一个方法gotoPage给web端js调用
2. 在webview中调用addJavascriptInterface方法注入接口
public class JsInterface { public static final String AndroidApi = "AndroidApi"; /** * volatile 关键词确保当uniqueInstance变量被初始化成Singleton实例时,多个线程正确地处理uniqueInstance变量 */ private volatile static JsInterface uniqueInstance; private Context mContext; private JsInterface(Context context) { mContext = context; } public static JsInterface getInstance(Context context) { if (uniqueInstance == null) { synchronized (JsInterface.class) { if (uniqueInstance == null) { uniqueInstance = new JsInterface(context); } } } return uniqueInstance; } @JavascriptInterface @SuppressWarnings("unused") public void gotoPage(String pagename, String param) { Logger.e("param :" + param); Logger.e("pagename :" + pagename); Logger.e("before"); if (JsonParser.isJSONValid(param)) { if (pagename.equals("detail")) { try { JSONObject json = new JSONObject(param); String link = json.optString("Link"); String id = json.optString("ID"); String brandID = json.optString("BrandID"); String sourceMall = json.optString("SourceMall"); ActivityUtil.switchToChaoGaoFanProductActivity(mContext, link, sourceMall, id, brandID); } catch (JSONException e) { e.printStackTrace(); } } } } }
2. 在webview中调用addJavascriptInterface方法注入接口
JsInterface jsInterface = JsInterface.getInstance(this); //addJavascriptInterface是Android提供的方法,包含两个参数。第一个是java中实现的类,类提供了javascript访问方法;第二个参数是java类映射到javascript的对象名。例如:js中widow.AndroidApi就代表android中JsInterface类,可以调用JsInterface中的方法,但是参数类型和个数要一致 mWebView.addJavascriptInterface(jsInterface,jsInterface.AndroidApi);
相关文章推荐
- adb命令安装模拟器上的Android程序,节省了很多时间。。
- 研究Xposed相关二:如何root android模拟器(android4.3.1)
- Ubuntu配置android-vlc编译环境(2015-11-05)
- Android ListView的滚动条始终显示并且滚动条样式自定义
- 使用OpenGLES 在 android 上显示摄像头滤镜效果
- Android编程之电池电量信息更新的方法(基于BatteryService实现)
- Android注解式绑定控件BindView
- 单例模式
- Androidstudio error(1,0)错误,和(2.0)错误
- android 关于mk如何引用其它so库
- 【Android】图片异步加载三方框架Universal Image Loader详细配置
- 【Android开发杂技】输入法高度获取(可监听变化)
- Android Studio安装教程
- Android的Root权限——su与adb
- Android应用底部导航栏(选项卡)实例
- Android 自动化测试 常用的命令----随时更新
- Android实现本地推送通知的解决方案
- Android Studio高效率小技巧
- android-studio安装过程详解
- Android 3D滑动菜单完全解析,实现推拉门式的立体特效