JELLY_BEAN 及以下版本的 JavascriptInterface 注释

2024-03-15

正如上面明确指出的官方文档 https://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface%28java.lang.Object,%20java.lang.String%29,API 级别 JELLY_BEAN_MR1 及以上需要使用 @JavascriptInterface,才能从 webview 端访问 java 函数。

这意味着项目构建目标必须指向 API 17 或更高版本,以解决以下导入问题:

import android.webkit.JavascriptInterface;

Android 如何处理 API 16 及以下版本的这段代码?我会收到运行时异常还是会在运行时忽略此导入?


我对这些答案感到非常惊讶......它们并不准确。 如果添加 JavascriptInterface 和另一个注释我的注释使用相同的方法(就像我一样),然后尝试访问我的注释实例注释,那么您将会收到 ClassDefNotFoundException 惊喜!

我的解决方案目前似乎有效(已经一年多了),是将注释声明添加到应用程序项目中:

package android.webkit;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface JavascriptInterface {}

这解决了 2.3.5 上的问题,并且在 4.3、4.4 和 4.2 上仍然有效。

希望这对其他人有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JELLY_BEAN 及以下版本的 JavascriptInterface 注释 的相关文章

随机推荐

  • 如何配置 Sphinx 有条件地排除某些页面?

    使用 Sphinx 生成文档时 我希望能够生成文档的两个版本 一个包含所有内容 另一个仅包含一组特定的页面 实现这一目标的最佳方法是什么 我可以编写一个构建脚本来移动文件来实现此目的 但如果有一种方法可以告诉 sphinx 在特定构建期间排
  • 更改密码后显示消息吗?

    我正在使用默认更改密码机制 https docs djangoproject com en dev topics auth django contrib auth views password change由 django 提供 我在用着p
  • 结账开始观察者

    Magento 中是否有观察者来检测结帐过程的开始 这将包括点击页面checkout onepage or checkout onestepcheckout 如果可能的话 我想避免覆盖控制器 每个控制器操作都会导致多个目标事件被触发Mage
  • ajax 问题 - firebug 中的 200 OK 但没有响应正文的红色消息

    据我所知 我有与跨域相关的 ajax 小问题 在本地机器上我用一些ajax创建了html示例 在注册文本字段中 用户输入 用户名 每次击键时 ajax 都会将其发送到 本地 Tomcat servlet 检查该用户名是否已被使用 并发回 已
  • TypeError;Article.find() 不是 Sails.js 中的函数

    我正在使用 sails js 并收到错误 Articles find is not a function 以下是datastore js mongodb adapter require sails mongo url mongodb loc
  • 如何对没有分支文件夹的 TFS Team 项目进行分支

    我有一个这样的团队项目 DefaultCollection Project 1 Project 2 Project 3 Somefile txt Somefile2 doc 所有文件和项目都位于团队项目的根目录中 我没有 主干 和 分支 文
  • 使用 WordPress 高级自定义字段时“url”的字符串偏移量非法

    我正在将 Bootstrap 模板转换为 WordPress 主题 对于自定义字段 我正在使用该插件高级自定义字段 https wordpress org plugins advanced custom fields 问题是当我尝试在以下命
  • 使用多个 OR || 简化 IF 语句相同变量的条件

    这是我的代码 var something four if something one something two something three something five something six something seven do
  • 使用@staticmethod 有什么好处吗?

    我想知道您是否在代码中使用 staticmethod 装饰器 就我个人而言 我不使用它 因为写 staticmethod 比写 self 需要更多的字母 使用它的唯一好处 对我来说 可能是代码更加清晰 但由于我通常为 sphinx 编写方法
  • C++ 程序无法使用 Clang 和 Visual Studio 2010 Express 进行编译

    我正在尝试使用 Visual C 2010 Express 编译本教程中所述的源代码 http kevinaboos wordpress com 2013 07 23 clang tutorial part ii libtooling ex
  • 如何以编程方式找出机器的上次登录时间?

    我想 a 以编程方式和 b 远程查找用户成功登录 Windows 计算机的最后日期 时间 通过远程桌面或控制台 我愿意采用任何典型的 Windows 语言 C C VB 批处理文件 JScript 等 但任何解决方案都很好 尝试这个 pub
  • 将朴素贝叶斯训练分类器保存在 NLTK 中

    我对如何保存经过训练的分类器有点困惑 例如 每次我想使用分类器时重新训练它显然非常糟糕且缓慢 我如何保存它并在需要时再次加载它 代码如下 提前感谢您的帮助 我正在使用 Python 和 NLTK 朴素贝叶斯分类器 classifier nl
  • 为什么说C++不支持参数多态?

    根据维基百科页面参数多态性 https en wikipedia org wiki Parametric polymorphism 类型多态性的一些实现表面上与参数多态性相似 同时也引入了特殊方面 C 模板专门化就是一个例子 问题 为什么说
  • 哪些 UNIX 命令支持彩色输出?

    我喜欢使用支持彩色输出的 UNIX bash 命令 因此 我定义了一些别名 它们自动启用我知道支持此选项的命令的彩色输出 但是 我确信有数百个命令支持彩色输出 我想知道它们是什么 我的那些 bash aliases文件是 ls color
  • .NET - 调整图像大小的边框

    我正在尝试在 NET 中调整图像大小 但调整大小后的图像周围出现微弱的黑色边框 我找到了一个帖子 http social msdn microsoft com forums en US csharpgeneral thread cf7650
  • 从变量引用另一个工作簿中的工作表时下标超出范围

    看图片 http s12 postimg org ov8djtuh9 Capture jpg http s12 postimg org ov8djtuh9 Capture jpg Context 尝试激活另一个工作簿中的工作表 变量 cSh
  • Flexbox 难以将图标与容器底部对齐

    我在使用 Flexbox 时遇到了一些困难 如你所见 我有一个aside包含社交媒体图标的有序列表的元素 由于某种原因 我无法将这些图标粘在包含的内容的底部div HTML代码 div class outercontainer group
  • SQL 在每个 SELECT 请求上获取 ROW_NUMBER 和 COUNT

    我正在构建一个网格机制 我需要从数据库中检索找到的总数或记录的数据 仅检索其中包含 row number 的这些记录的范围 我正在使用 Sql Server 进行测试 但我也需要在 Oracle 和 MySql 上支持它 这就是我正在尝试的
  • Visual Studio 2013 中的 SQL Server 项目

    我最近从 Visual Studio 2010 升级到 Visual Studio 2013 我的大多数项目都可以使用 VS2013 打开 但 SQL Server 2008 数据库项目 被列为不兼容 除外 VS2013 项目模板不包含 S
  • JELLY_BEAN 及以下版本的 JavascriptInterface 注释

    正如上面明确指出的官方文档 https developer android com reference android webkit WebView html addJavascriptInterface 28java lang Objec