2

重複の可能性:
AndroidAPIバージョンをプログラムで取得する

アプリのAPIレベルを実行している電話が14でAndroid4.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();から発生する可能性のある例外を常にキャッチするように注意してください。それは害を及ぼすことはなく(アプリ内でも-開発中にマニフェストにアクティビティを追加することを常に忘れることができます)、良い習慣であり、ログに役立つものを提供しながらアプリがクラッシュするのを防ぎます

于 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 に答える