我遇到了@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应用程序项目?
答案 0 :(得分:3)
关于如何在库项目中使用javascript接口类的任何建议都适用于api 15和api 17应用程序项目?
将android:targetSdkVersion
设置为小于17,因为在@JavaScriptInterface
设置为17或更高之前,android:targetSdkVersion
未应用@JavaScriptInterface
。然后,只需跳过{{1}}。