在基于旧版本的Android(2.2)构建时如何使用新的API(JavascriptInterface)
我正在完成一个原本打算在Froyo上运行的老项目 所以我用2.2来编译它,一切都很好 现在,我需要在该项目上使用更新的API,即在基于旧版本的Android(2.2)构建时如何使用新的API(JavascriptInterface),android,Android,我正在完成一个原本打算在Froyo上运行的老项目 所以我用2.2来编译它,一切都很好 现在,我需要在该项目上使用更新的API,即JavascriptInterface 显然,如果我根据2.2JavascriptInterface进行编译,将无法识别,并给出一个错误 但是如果我针对17进行编译,JavascriptInterface不再出现问题,但是我从不再受支持或已更新的API中得到了大量其他错误 请问在这种情况下我该怎么办 根据17进行编译时出现的错误有: UrlInterceptHand
JavascriptInterface
显然,如果我根据2.2JavascriptInterface
进行编译,将无法识别,并给出一个错误
但是如果我针对17进行编译,JavascriptInterface
不再出现问题,但是我从不再受支持或已更新的API中得到了大量其他错误
请问在这种情况下我该怎么办
根据17进行编译时出现的错误有:
- UrlInterceptHandler无法解析为类型
- 类型MailService的方法setForeground(布尔)未定义
- 类型编辑器必须实现继承的抽象方法SharedReferences.Editor.putStringSet(String,Set)
- 类型存储必须实现继承的抽象方法SharedReferences.getStringSet(String,Set)
android:targetSdkVersion
为17或更高版本时
但是,我从不再受支持或已更新的API中获得了大量其他错误
你得把它们修好
UrlInterceptHandler无法解析为类型
类型MailService的方法setForeground(布尔)未定义
这些在Android2.0中被弃用,显然现在已经从SDK中完全删除<代码>设置前景()被替换为开始前景()
;我真的不知道UrlInterceptHandler
是用来做什么的
类型编辑器必须实现继承的抽象方法SharedReferences.Editor.putStringSet(String,Set)
类型存储必须实现继承的抽象方法SharedReferences.getStringSet(String,Set)
目前尚不清楚代码为何要尝试实现
SharedReferences
和SharedReferences.Editor
。虽然这是可能的--我亲自做的--但这真的很不寻常。要么重新实现应用程序的该部分以不创建自定义的SharedReferences
实现,要么扩展它以支持所需的方法。还有哪些其他错误?您可以选择:要么修复错误并使其与17兼容(最新版本为19 btw),要么使用JavascriptInterface
。在清单中声明minSdkVersion=“8”,targetSdkVersion=“19”,并在代码中检查每个不兼容API的构建版本,如下所示:如果(Build.VERSION.SDK\u INT>=Build.VERSION\u code.JELLY\u BEAN)然后调用与JB兼容的api,否则调用相应的api。