Android版本代码常量是否适用于旧版本?

时间:2014-02-17 19:11:01

标签: android versioning

我可以在较旧的Android运行时使用Android版本代码常量吗?例如,

if (android.os.Build.VERSION.SDK_INT >= 
   android.os.Build.VERSION_CODES.HONEYCOMB) ...

当HONEYCOMB首次定义此常量时,它会在运行Android操作系统的旧设备上运行而不会崩溃吗?假设我们用最近的SDK编译它?

2 个答案:

答案 0 :(得分:6)

是的,这会有用。

原因是android.os.Build.VERSION_CODES.HONEYCOMBintandroid.os.Build.VERSION_CODES.HONEYCOMB只是int的别名(11等于11),可以在Eclipse等IDE中看到:

int android.os.Build.VERSION_CODES.HONEYCOMB = 11 [0xb]

因此,这只会检查android.os.Build.VERSION.SDK_INT是否大于或等于11。

答案 1 :(得分:3)

是的,你可以。它有效,因为int值为static final。编译器会在编译时将它们内联到字节码中。运行时不需要导入符号。