2013-06-05 19 views
5

私はアプリケーションのSDKのバージョンを取得しようとしているが、私は2.3.3を対象アプリケーションにデバイスではなくSDKバージョンのアプリケーションを入手するにはどうすればよいですか?

android.os.Build.VERSION.SDK_INT 

をテストする場合、私は17の代わりに、10

あるデバイスのバージョンを取得

開発者が独自のアプリケーションに追加できるコードスニペットを作成しているため、私のコードがコンパイルされるSDKのバージョンがわかりません。

ありがとうございました。

+0

アムを..しかし、Y君は、SDKのバージョンを知っておく必要があります。セナリオをください。 – amalBit

+0

開発者が独自のアプリケーションに追加できるコードスニペットを書いています。 –

+0

... SDK版が必要なのはなぜですか? – laalto

答えて

0

私はあなたがandroid.os.Build.VERSION.RELEASE;

0

はこれを見て持っている必要

を誤解していない場合... targetSdkVersion.

使用このコード:

ApplicationInfo info=getApplicationInfo();// this class give info from the application tag in the manifest file 
    final int target=info.targetSdkVersion; 

はまた、このdiscussion.

を経ます
+0

私は「1.0」を得る。あなたのコードは私にアプリケーションのバージョンではなく、SDKのバージョンが使われています。 –

+0

あまりにもグーグルで..私はあなたが探しているものを見つけたようです。@RonTesler – amalBit

+0

ありがとう@amal、しかし私の場合のtargetSdkVersionは0それはマニフェストに記載されていなかったからです。私はホスティングアプリケーションのマニフェストファイルを管理することはできません。 –

1

常に最新のバージョンをターゲットにしてください。それはあなたに最新のAPIをもたらすでしょう。 デバイス上で利用可能なAPIの現在のバージョンを知る必要があると思います。そのために、あなたは、この(現在のAPIが2.3であるかどうかを確認するため)のようなものだろう:骨董いる

@TargetApi(Build.VERSION_CODES.GINGERBREAD) 
    public static void someMethod() { 
     if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { 
      /** 
      * Call code accessible from Gingerbread onwards 
      * */ 
     } else { 
      /** 
      * Call code from previous API 
      * */ 
     } 
    } 
+0

問題は私のコードがコンパイルされるSDKのバージョンを知らないということです。開発者がアプリケーションで使用するコードを記述したいと思います。 –

+0

上記のメソッドは、あなたが必要とするものでなければなりません...最初のif文では、Gingerbreadなどから入手可能なAPIを使用します。 – gunar

関連する問題