有时候为了兼容不同版本的Android系统,代码中需要判断当前运行的Android系统版本号,那如何获取版本号呢?
正确的方式是使用
Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
其实很多系统信息都可以通过Build静态成员获取,如:Build.DEVICE,Build.HARDWARE,Build.PRODUCT,Build.SERIAL,等等。更多参见API说明。
之前还使用过另外一种方法:
getApplicationInfo().targetSdkVersion;
但是该值是在编译时确定的,是由AndroidManifest.xml,如:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
和编译环境决定的(源码树中编译时由编译环境变量决定)。所以不能用来判断当前运行的Android版本号。