我的应用程序支持minSdkVersion = 10和目标16.我想调用特定于API级别> = 14的方法,如果特定设备支持它们。我可以在运行时检查运行的OS版本以及是否调用更高的API方法,但是当我指定min SDK版本时,仅存在于高于10的版本中的方法不可见。 有什么方法可以使用比minSdkVersion更高的API方法吗?较低的API调用较低的SDK时
10
A
回答
3
方法是无形的,不可访问,因为项目的目标SDK比SDK其方法是将要使用低。例如:如果你想使用来自API 14的方法Android项目目标SDK应该是至少14或甚至更好的最新(当前16)。这是显而易见的,但我错过了它。之后,Sam提供的解决方案正在使用中。
11
你可以利用这个测试设备的API:
从更高的APIif(android.os.Build.VERSION.SDK_INT >= 14) {
// Do something fancy
}
else {
// Do something regular
}
6
除了检查当前版本,您还应该将@SuppressLint("NewApi")
添加到您的方法,以便编译器想要大声说出来。
相关问题
- 1. 较低SYS时间
- 2. 支持10 SDK中较低的版本
- 3. Android:替换setX()用于较低的API
- 4. 在较低的API中使用request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN)
- 5. 较低的API上的Android碎片
- 6. 具有较低API级别的C2DM?
- 7. 从脚本中较高的函数调用较低的函数
- 8. 较低的输入较高的输出
- 9. 从较低的fc层微调CNN
- 10. vb.net:较低级别的调试
- 11. Highcharts yaxis显示较高的值较低
- 12. 从较低kinded型
- 13. 更新的SDK没有运行较低的SDK?
- 14. 较低的系统音量
- 15. OpenCV较低的颜色值
- 16. Rails的find_by较低层级
- 17. 较低的积分MVC
- 18. 较低的Android版本
- 19. 通过较低的div
- 20. Java中较低的属性
- 21. 前往:查找较低的时间值
- 22. 随机函数:较高的值出现的频率低于较低的值
- 23. .NET - 较低的应用程序权限
- 24. XSLT较低的情况下,使用.NET
- 25. iteritems:匹配k值较低/较高和较大的空格
- 26. Java颜色数量较低
- 27. TTPhotoViewController缺少较低按钮
- 28. 较低,UPPER_BOUND对结构
- 29. 使用谷歌地图API v2.0的较低版本的Android
- 30. 分辨率较低时螺丝拧紧?
这就是我提到的。我可以检查操作系统版本,但仅适用于SDK版本高于10的方法无法访问。 //做一些事情会失败build,因为只有SDK 14或更高版本存在的方法对于SDK 10是未定义的。 – Maxim 2012-07-31 22:42:04
好的,这里是Android的博客条目,详细讨论这个概念:[如何让你的(杯)蛋糕和吃它也是](http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat-it-too.html) – Sam 2012-07-31 23:07:58
投票。博客文章让我知道为什么更高的API方法在我的代码中是不可见的。答案只是针对项目属性中的最高SDK。 – Maxim 2012-08-02 22:18:40