我刚刚将我的 Galaxy Tab2 软件从 ICS 更新到 Jelly Bean。我正在开发一个应用程序,我正在加载一些带有一些 js 文件的 Html,调用一些用 Javascript 文件自己编写的函数,一切正常,在 Android 设备(手机和平板电脑(4.0.1))上完全测试,但在在平板电脑上更新,它停止工作。
使用 调用 js 函数JavaScriptInterface()
时,我没有得到任何响应。有任何想法吗?
我刚刚将我的 Galaxy Tab2 软件从 ICS 更新到 Jelly Bean。我正在开发一个应用程序,我正在加载一些带有一些 js 文件的 Html,调用一些用 Javascript 文件自己编写的函数,一切正常,在 Android 设备(手机和平板电脑(4.0.1))上完全测试,但在在平板电脑上更新,它停止工作。
使用 调用 js 函数JavaScriptInterface()
时,我没有得到任何响应。有任何想法吗?
这一定是问题所在:
对于针对 API 级别 JELLY_BEAN_MR1 及更高级别的应用程序,只能从 JavaScript 访问使用 JavascriptInterface 注释的公共方法。
文档更新在这里。我也看到有人报告说他们不得不摆弄 proguard,但我自己并没有偶然发现。
刚刚遇到完全相同的问题,Vytautas 是正确的。这真的很令人沮丧。我项目中的所有内容在 Jelly Bean API16 上都运行良好,然后我在 API17 上进行了尝试,但它已经瘫痪了。只需添加
@Javascript接口
public void showToast(String toast) {
// show toast ...
}
在也支持以前 API 版本的项目中包含此内容将要求您在项目设置中选择 API 17(或更高版本)的构建目标。