Android 使javascript注入与api 16兼容

Android 使javascript注入与api 16兼容,android,android-webview,Android,Android Webview,我正在构建一个android应用程序,它必须与api 14和更新版本兼容。我在javascript接口中有一个方法 从api 17开始,您必须向方法添加注释,即@JavascriptInterface,但该注释不受向后api的支持,因为该应用程序是api 14的目标。我遇到了一个错误。但是,如果我不添加注释,javascript不会在Android 4.2手机中触发 如果deviceOs比4.2更新,是否可以制作ifdef 将构建目标设置为API级别17。将您的android:minSdkVer

我正在构建一个android应用程序,它必须与api 14和更新版本兼容。我在javascript接口中有一个方法

从api 17开始,您必须向方法添加注释,即
@JavascriptInterface
,但该注释不受向后api的支持,因为该应用程序是api 14的目标。我遇到了一个错误。但是,如果我不添加注释,javascript不会在Android 4.2手机中触发


如果deviceOs比4.2更新,是否可以制作ifdef

将构建目标设置为API级别17。将您的
android:minSdkVersion
设置为您希望支持的android的任何旧版本。然后,您的代码将编译并具有
@JavascriptInterface
注释。Lint将向您指出代码中使用比您的
android:minSdkVersion
更新的类、方法等的位置,因此您可以确保这样做是正确的


或者,将您的
android:targetSdkVersion
设置为16或更低,在这种情况下,不需要
@JavascriptInterface
。请参阅。

看起来是个不错的解决方案。我现在已经将targettSdkVersion设置为14,并且没有
@JavascriptInterface
,但是javascript方法不会被触发。所以我会试试你的第一个选择。谢谢。