检查Android版本

时间:2012-08-31 09:19:23

标签: android version

  

可能重复:
  Retrieving Android API version programmatically

我需要运行app api级别的手机是14,这是Android 4.0或更高版本(例如api levcel 15)然后是startActivity ...否则如果api级别低于14(例13),则startActivity ..

                String AndroidVersion = android.os.Build.VERSION.RELEASE;
                if ( AndroidVersion == 4.0 ) {
                    Intent start = new Intent(S.this, Menu.class);
                    startActivity(start);                       
                }
                else {
                    Intent startt = new Intent(S.this, Menu2.class);
                    startActivity(startt);
                }

什么是错的?

3 个答案:

答案 0 :(得分:4)

使用SDK_INT代替RELEASE。所以你的代码看起来像是:

Intent intent;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
  intent = new Intent(S.this, Menu.class);
} else {
  intent = new Intent(S.this, Menu2.class);
}

try {
  startActivity( intent );
} catch( Exception e ) {
  e.printStackTrace();
}

所有SDK代码均为listed here。注意始终从startActivity()中捕获可能的异常;它不会受到伤害(即使在你的应用程序中 - 你总是会忘记在开发过程中向Manifest添加活动),这是一个好习惯,可以防止你的应用程序在日志中提供有用的东西时崩溃

答案 1 :(得分:0)

比较整数版本更清晰,并使用> =以备将来兼容

if (android.os.Build.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH)

答案 2 :(得分:0)

这样做!

     if ( Build.VERSION.SDK_INT == 4 ) {
            Intent start = new Intent(S.this, Menu.class);
            startActivity(start);                       
        }
        else {
            Intent startt = new Intent(S.this, Menu2.class);
            startActivity(startt);
            }