2011-03-03 66 views
4

我想写一个应用程序,使用动态壁纸为insatnce。此功能仅在版本7及更高版本中受支持。可以肯定的是,应用程序检查Android手机的版本,并取决于运行不同的代码(例如使用动态壁纸或静态背景。)可以安卓应用程序检查手机的版本

你有这样的代码示例吗?这需要特殊的权限吗?

回答

7

假设你需要的Android 1.6或更高版本:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR_MR1) { 
    ... 
} 
1

是的,有。看看Android中的Build类。您可以像这样使用它Build.VERSION.SDK_INT

+0

RELEASE是不是一个很好的,这是一个用户自定义字符串,可以是任何东西(特别是当你”重新使用自定义ROM)。当您想要测试特定的SDK功能时,SDK_INT是要走的路。 – EboMike 2011-03-03 21:53:26

+0

阿好好知道。将改变我的答案。 – 2011-03-03 21:58:59

0
public static final int ECLAIR_MR1 =7; 
public static final int FROYO =8; 

if(Build.VERSION.SDK_INT==FROYO){ 
    Toast.makeText(getApplicationContext(), "Iam a FROYO-Phone", 1).show(); 
}else if(Build.VERSION.SDK_INT==ECLAIR_MR1){ 
    Toast.makeText(getApplicationContext(), "Iam an ECLAIR-Phone", 1).show(); 
} 
0

SDK_INT在很早的版本上不可用。所以,如果你的清单中的实例:

android:minSdkVersion="1" 

你可以使用这样的事情:

@TargetApi(Build.VERSION_CODES.DONUT) 
static boolean getPreHoneyComb() { 
    try { 
     Build.VERSION.class.getField("SDK_INT"); 
    } 
    catch (NoSuchFieldException e) { 
     return true; 
    } 
    return Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB; 
} 
相关问题