0

我有一个适用于从 Android-8 开始的所有版本的 Android 应用程序。现在,从 Android-17 开始,我想使用额外的 API,但是我不会将目标 SDK 设置为 Android-17,目标是 Android-17 和更新版本的设备使用额外的 API,而较旧的将跳过使用新 API 中的功能。

显而易见的解决方案是使用新 API 的反射,但是我不能使用它,因为我需要创建一个从新的 Android-17 API 扩展类的新类,这是不可能的(尝试使用 Proxy 和 InvocationHandler 但他们仅适用于接口)。

任何想法如何设计这个?最好不要创建 2 个不同的 APK 版本。

谢谢!

4

1 回答 1

1

使用 if 语句包装对新 API 的所有访问。Android 2.0+ 不会由于找不到框架类而引发异常,除非您实际尝试使用一个(以前验证程序会在运行代码之前检查所有使用的类是否存在)。检查 android.os.Build.VERSION 以查看手机使用的版本。

于 2013-01-24T14:17:53.413 回答