我需要运行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);
}
什么是错的?
答案 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);
}