我可以在较旧的Android运行时使用Android版本代码常量吗?例如,
if (android.os.Build.VERSION.SDK_INT >=
android.os.Build.VERSION_CODES.HONEYCOMB) ...
当HONEYCOMB首次定义此常量时,它会在运行Android操作系统的旧设备上运行而不会崩溃吗?假设我们用最近的SDK编译它?
答案 0 :(得分:6)
是的,这会有用。
原因是android.os.Build.VERSION_CODES.HONEYCOMB
是int
。 android.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
。编译器会在编译时将它们内联到字节码中。运行时不需要导入符号。