我正在构建一个必须与api 14和更新版兼容的Android应用程序。我在javascript界面中有一个方法。
从api 17开始,您必须为方法@JavascriptInterface
添加注释,但注释不支持向后api,因为应用程序是api的目标14我收到了错误。但是,如果我不添加注释,则不会在Android 4.2的移动设备中触发javascript。
如果deviceOs比4.2更新,是否可以制作ifdef?
答案 0 :(得分:1)
将您的构建目标设置为API级别17.将android:minSdkVersion
设置为您要支持的Android的旧版本。然后您的代码将编译并且将具有@JavascriptInterface
注释。 Lint会在您的代码中指出您使用比android:minSdkVersion
更新的类,方法等的位置,这样您就可以确保正确地执行此操作。
或者,将android:targetSdkVersion
设置为16或更低,在这种情况下,@JavascriptInterface
不是必需的。请参阅http://developer.android.com/guide/webapps/webview.html#BindingJavaScript。