4.2以上版本的sdk使用webview的js和java代码交互必须加注解才能生效

  最近做一个阅读器的项目,项目大概就做成一个这样的功能,附图

  

  其中精选,现代言情,现代都市切换下面对应的内容是一个WebView,然而做的时候总是js和java代码交互不了,这个问题一直困惑了我两天多,弄得头都炸了(因为以前也做过webview之类的东西),后来找了4.2版本以上android的文档,发现了下面这句话:

Caution: If you've set your targetSdkVersion to 17 or higher, you must add the @JavascriptInterfaceannotation to any method that you want available to your JavaScript (the method must also be public). If you do not provide the annotation, the method is not accessible by your web page when running on Android 4.2 or higher.

我用的sdk版本是4.2.2的,所以需要加上这句注解才能生效   @JavascriptInterface        


但是我有一个疑问,因为我的webview是放在fragment中的加上了这句注解生效了,

但是当我把webview放到activity中的时候不加这句注解js和java代码也是能相通的,

因为当时我以为这是fragment里面加webview js和java代码不能通,以为这是fragment的一个bug,

因为我查看到有一个fragmentWebView的类,


后来我用同样的sdk版本,同样的代码不加这句@JavascriptInterface 注解 放在activity中

js和java代码能通


反正我没想明白!


更多相关文章

  1. android通过指定目录获取该目录下所有类(反编译)
  2. Android字符串进阶之一(特殊字符的输入)
  3. Android(安卓)/system/bin/pm脚本乱码分析 - 记一次脚本代码莫名
  4. 红米1S的android 4.4.4刷机到android 7.1的Lineage OS 14.1
  5. Android(安卓)Annotations 学习之路(一)环境配置以及@EActivity在
  6. 浅析RxJava 1.x&2.x版本使用区别及原理(一):Observable、Flowable等
  7. android工程导入ADT缺default.properites、JDK版本和Unknown com
  8. Android材料设计兼容函数库(Design Support Library)(II)浮动操作按
  9. 海外优秀资讯抢先看11:Android的Inbox如何做到70%代码能跨Androi

随机推荐

  1. Xamarin向iOS和Android引入C# Async支持
  2. 自编Win8风格Android音乐播放器应用源码(
  3. [置顶] Android(安卓)4.2 Wifi Display核
  4. Android定位功能实现
  5. Android取消EditText自动获取焦点默认行
  6. android测试工具MonkeyRunner--google官
  7. Android的uid与UserHandle
  8. Android事件机制:事件传递和消费
  9. android基础总结-内部存储和外部存储的大
  10. Qt on Android:应用截屏