2011-09-07 61 views
34

如何以编程方式获取当前的Android设备版本(1.5,1.6,2.0等)?即我已经在Android 2.2设备上安装了我的apk。我需要获取设备版本(我的应用程序当前正在运行的Android模拟器版本)。以编程方式在Android中获取设备操作系统版本

+0

查看重复:http://stackoverflow.com/questions/3093365/android-get-version-of-system –

回答

1

看看Build.VERSION版本的类。根据您想要执行的操作,您可能需要使用RELEASESDK_INT属性。

85

的类似:

String myVersion = android.os.Build.VERSION.RELEASE; // e.g. myVersion := "1.6" 
int sdkVersion = android.os.Build.VERSION.SDK_INT; // e.g. sdkVersion := 8; 

您可以从Build.VERSION_CODES

+0

建议用于表示os,Build.VERSION.RELEASE或Build.VERSION.SDK.INT ?两者都可以完成工作,但有没有行业标准或更受欢迎的选择? – portfoliobuilder

+0

@portfoliobuilder'Build.VERSION.SDK_INT'擅长比较android文档中描述的版本(小于/大于等) –

+0

,手机运行的SDK级别(整数)可用于: android.os.Build.VERSION.SDK_INT; 对应于此int的枚举位于android.os.Build.VERSION_CODES类中。代码示例: int currentapiVersion = android.os.Build.VERSION.SDK_INT; 如果(currentapiVersion> = android.os.Build.VERSION_CODES.FROYO){// 做东西的Froyo或以上版本 }其他{// 做一些对之前的Froyo 运行SDK手机} – hitesh141

3

如果你想看到固件版本号,然后就可以使用

Build.VERSION.SDK_INT 

但是,如果你检索所有SDK代码想要固件版本名称,那么你应该使用这样的东西

Build.VERSION_CODES 
10
int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){ 
    // Do something for lollipop and above versions 
} else{ 
    // do something for phones running an SDK before lollipop 
} 

通过此代码,我们可以为Pre棒棒糖设备执行单独的代码。

1

试试这个,

String deviceOs = android.os.Build.VERSION; 

我希望这将有助于。

相关问题