自身が使っているデバイスの Android バージョンは Build.VERSION クラスの Build.VERSION.SDK_INT から取得することができます。
(Build.VERSION.SDK で同じ値をString型で取得することができますが、こちらは非推奨(@Deprecated)となっています)
取得した Android バージョンは Build.VERSION_CODES クラスに定義されたビルドバージョンの定数値と比較することで、バージョンに応じた処理分岐を行うことができます。
API Reference: Build.VERSION, Build.VERSION_CODES
比較方法:
switch (Build.VERSION.SDK_INT) {
    case Build.VERSION_CODES.BASE:
        // Android 1.0 (API 1)
        break;
    case Build.VERSION_CODES.BASE_1_1:
        // Android 1.1 (API 2)
        break;
    case Build.VERSION_CODES.CUPCAKE:
        // Android 1.5 (API 3)
        break;
    case Build.VERSION_CODES.DONUT:
        // Android 1.6 (API 4)
        break;
    case Build.VERSION_CODES.ECLAIR:
        // Android 2.0 (API 5)
        break;
    case Build.VERSION_CODES.ECLAIR_0_1:
        // Android 2.0.1 (API 6)
        break;
    case Build.VERSION_CODES.ECLAIR_MR1:
        // Android 2.1 (API 7)
        break;
    case Build.VERSION_CODES.FROYO:
        // Android 2.2 (API 8)
        break;
    case Build.VERSION_CODES.GINGERBREAD:
        // Android 2.3 (API 9)
        break;
    case Build.VERSION_CODES.GINGERBREAD_MR1:
        // Android 2.3.3 (API 10)
        break;
    case Build.VERSION_CODES.HONEYCOMB:
        // Android 3.0 (API 11)
        break;
    case Build.VERSION_CODES.HONEYCOMB_MR1:
        // Android 3.1 (API 12)
        break;
    case Build.VERSION_CODES.HONEYCOMB_MR2:
        // Android 3.2 (API 13)
        break;
    case Build.VERSION_CODES.ICE_CREAM_SANDWICH:
        // Android 4.0 (API 14)
        break;
    case Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1:
        // Android 4.0.3 (API 15)
        break;
    case Build.VERSION_CODES.JELLY_BEAN:
        // Android 4.1 (API 16)
        break;
    case Build.VERSION_CODES.CUR_DEVELOPMENT:
        // 未リリースの開発用バージョン
        break;
    default:
        break;
}
以上が2012/09/09時点の全バージョンになります。
一般販売されているのは Android 1.5 以降のため、以下の3つは考える必要はありません。
・Build.VERSION_CODES.BASE
・Build.VERSION_CODES.BASE_1_1
・Build.VERSION_CODES.CUR_DEVELOPMENT
(すでに 1.6 すら対応必要なさそうですが…)
これを書くまで気づかなかったけど、Androidのコードネームはアルファベット順だったんですね。
お菓子の名前を適当につけているだけだと思っていました。
今は「J」で次は「K」。Android 5.0 で「Key Lime Pie」みたい。
Android 'Key Lime Pie' comes after Jelly Bean
 
0 件のコメント:
コメントを投稿