有选择地禁用某些 API 级别的 Android 服务

Selectively disable an Android service for certain API levels

我的 Android 应用程序支持 API 8+,但是 Parse 库似乎在 API 小于 10 时完全崩溃(甚至在 10 时也有一点点)。我知道如何在某些 API 级别上禁用 code 块,但是有没有一种方法可以选择性地启用 AndroidManifest.xml 中声明的 <service>仅适用于 API 11+? (它也由 BOOT_COMPLETE <intent> 启动,这也需要被禁用)

第 1 步:创建一个 res/values/bools.xml 文件,其中 bool 资源名为 i_can_haz_parse,设置为 false

第 2 步:创建一个 res/values-v11/bools.xml 文件,其中 bool 资源也命名为 i_can_haz_parse,设置为 true

第 3 步:在组件上安装 android:enabled="@bool/i_can_haz_parse",例如您的服务,您只需要 API 级别 11+