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

h22*_*h22 8 versioning android

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

if (android.os.Build.VERSION.SDK_INT >= 
   android.os.Build.VERSION_CODES.HONEYCOMB) ...
Run Code Online (Sandbox Code Playgroud)

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

hic*_*123 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]
Run Code Online (Sandbox Code Playgroud)

所以这将起作用,因为它只是检查是否android.os.Build.VERSION.SDK_INT大于或等于11.