2

可能重复:
以编程方式检索 Android API 版本

我需要运行应用程序 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);
                }

怎么了?

4

3 回答 3

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 代码。请注意始终从 startActivity() 捕获可能的异常;它不会受到伤害(即使在您的应用程序中 - 您在开发时总是会忘记向 Manifest 添加活动),这是一个好习惯,可以防止您的应用程序崩溃,同时在日志中提供有用的信息

于 2012-08-31T09:28:20.500 回答
0

比较整数版本更清晰,并使用 >= 以实现未来兼容性

if (android.os.Build.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH)
于 2012-08-31T09:30:05.390 回答
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);
            }
于 2012-08-31T09:30:34.117 回答