如何在同一版本中使用更低和更高的 API 调用? [复制]

Posted

技术标签:

【中文标题】如何在同一版本中使用更低和更高的 API 调用? [复制]【英文标题】:How can I use lower and higher API calls in the same version? [duplicate] 【发布时间】:2015-04-25 04:25:52 【问题描述】:

我正在开发一个简单的应用程序,它包含两个功能。第一个函数需要 3.0 API(或更低版本)的一些方法,第二个函数需要 4.4 API。

我想要一个版本!如果运行环境是 4.4 的 android,应用程序支持第二个选项。否则应用程序不提供第二个功能,但第一个功能正常工作。

我该怎么做?

【问题讨论】:

对我来说听起来像是您想检查是否存在某种方法。如果它确实执行功能A,则执行功能B。使用reflection 【参考方案1】:

检查 android.os.Build.VERSION,它是一个静态类,包含有关系统正在运行的 Android 操作系统的各种信息。

如果您关心所有可能的版本(回到原始 Android 版本),因为 minSdkVersion 设置为小于 4 的任何值,那么您将不得不使用 android.os.Build.VERSION.SDK,它是一个字符串可以转换为释放的整数。

如果您至少使用 API 版本 4 (Android 1.6 Donut),目前建议的获取 API 级别的方法是检查 android.os.Build.VERSION.SDK_INT 的值,它是一个整数。

在任何一种情况下,您获得的整数都会映射到 android.os.Build.VERSION_CODES 中定义的所有枚举值。

看到这个答案:Get Android API level of phone currently running my application

【讨论】:

【参考方案2】:

我找到了,不幸的是我必须维护两个来源:http://developer.android.com/training/multiple-apks/api.html

【讨论】:

以上是关于如何在同一版本中使用更低和更高的 API 调用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从android API 23和更高版本的操作栏中删除阴影

如何优化我的实体框架查询以获得更好的性能和更高的可读性

URLConnection 或 HTTPClient:哪个提供更好的功能和更高的效率?

Intel IPU

3 和更高的 columnCount 导致错误 Android Studio

如何在 Windows Vista 和更高版本(Windows 7、2008)中查看 .NET 程序集的程序集版本?