我的Android应用适用于从Android-8开始的所有版本。现在,从Android-17开始,我还想使用其他API,但我不会将目标SDK设置为Android-17,目标是Android-17及更新版本的设备使用额外的API而较旧的将跳过使用新API中的功能。
显而易见的解决方案是使用新API的反射,但是我无法使用它,因为我需要创建一个新类,从新的Android-17 API扩展类,这是不可能的(尝试使用Proxy和InvocationHandler,但它们仅适用于接口)。
任何想法如何设计?最好不要创建2个不同的APK版本。
谢谢!
答案 0 :(得分:1)
使用if语句包装对新API的所有访问权限。 Android 2.0及以上版本不会因为找不到框架类而抛出异常,除非您实际尝试使用一个(之前验证程序会在运行代码之前检查所有使用的类)。检查android.os.Build.VERSION以查看手机正在使用的版本。