1

我刚刚将我的 Galaxy Tab2 软件从 ICS 更新到 Jelly Bean。我正在开发一个应用程序,我正在加载一些带有一些 js 文件的 Html,调用一些用 Javascript 文件自己编写的函数,一切正常,在 Android 设备(手机和平板电脑(4.0.1))上完全测试,但在在平板电脑上更新,它停止工作。

使用 调用 js 函数JavaScriptInterface()时,我没有得到任何响应。有任何想法吗?

4

2 回答 2

3

这一定是问题所在:

对于针对 API 级别 JELLY_BEAN_MR1 及更高级别的应用程序,只能从 JavaScript 访问使用 JavascriptInterface 注释的公共方法。

文档更新在这里。我也看到有人报告说他们不得不摆弄 proguard,但我自己并没有偶然发现。

于 2013-02-01T21:31:37.850 回答
1

刚刚遇到完全相同的问题,Vytautas 是正确的。这真的很令人沮丧。我项目中的所有内容在 Jelly Bean API16 上都运行良好,然后我在 API17 上进行了尝试,但它已经瘫痪了。只需添加

@Javascript接口

public void showToast(String toast)  {
    // show toast ...
}

在也支持以前 API 版本的项目中包含此内容将要求您在项目设置中选择 API 17(或更高版本)的构建目标。

  • 从项目菜单中单击属性
  • 单击左侧列表中的 Android。
  • 检查 API 级别 17(我点击了 GOOGLE APIs 4.2)
于 2013-02-05T15:43:39.467 回答