@JavaScriptInterface可以同时使用ICS和JB项目

时间:2013-05-13 18:21:56

标签: javascript android annotations android-webview android-4.2-jelly-bean

我遇到了@JavaScriptInterface annotation要求支持api 15(ICS)和17(JB)的问题。我有一个Android库项目,由两个应用程序项目共享。库项目包含与javascript interfaces相关的WebView相关类。对于应用程序项目,其中一个目标是api 15,而另一个目标是api 17.这是我们的要求/约束​​,因为我们使用自定义的Android SDK。

问题是如何使库项目适用于两个应用程序项目。如果库项目以api 15为目标,则它不能具有@JavaScriptInterface注释,这意味着javascript回调将无法与api 17应用程序项目一起使用。

另一方面,如果库项目以api 17为目标,则无法使用api 15应用程序项目,因为应用程序项目无法与具有更高api级别的库项目链接。

关于如何在库项目中使用javascript接口类的任何建议都适用于api 15和api 17应用程序项目?

1 个答案:

答案 0 :(得分:3)

  

关于如何在库项目中使用javascript接口类的任何建议都适用于api 15和api 17应用程序项目?

android:targetSdkVersion设置为小于17,因为在@JavaScriptInterface设置为17或更高之前,android:targetSdkVersion未应用@JavaScriptInterface。然后,只需跳过{{1}}。