2010-06-10 93 views

回答

1

我認爲這是我自己的問題的複本:ndk version at run time。 簡短回答:原生應用程序沒有簡單的方法來完成它(然而,您可以運行Java應用程序並與其通信以獲取版本)。

1

你能在你的設備上執行getprop ro.build.version.release shell命令嗎?

-2

這工作

還導入followng:

import com.android.phonetests.TEST_INTERFACE; 
import android.os.Build; 
import android.app.ActivityThread; 
import android.content.pm.ApplicationInfo; 
import android.content.pm.IPackageManager; 


private int GetSDKVersion() 
{ 
    int version = 0; 
    IPackageManager pm = ActivityThread.getPackageManager(); 
    try 
    { 
     //returns a ref to my application according to its application name 
     ApplicationInfo applicationInfo = pm.getApplicationInfo("com.android.phonetests", 0); 

     if (applicationInfo != null) 
     {   
      version = applicationInfo.targetSdkVersion; ////this makes the same -> version = Build.VERSION.SDK_INT 
      Log.i(LOG_TAG,"[DBG] version: " + version); 

      //2 is 5 
      //2.01 6 (Donut - 2.01) 
      //2.2 7 (Eclair - 2.2) currently it is Eclair_MR1 (Major Release)     
      switch (version) 
      {       
       case Build.VERSION_CODES.ECLAIR_MR1: 
       Log.i(LOG_TAG,"[DBG] version: ECLAIR");//2.2 7 (Eclair - 2.2) currently it is Eclair_MR1 (Major Release) 
       break; 
       case Build.VERSION_CODES.DONUT: 
       Log.i(LOG_TAG,"[DBG] version: DONUT");//2.01 6 (Donut - 2.01) 
       break; 
      } 
     } 
    } 
    catch (android.os.RemoteException e){}  
    return version; 
} 
+0

不幸的是,這不是工作在我的Nexus 2.1一。 「com.android.phonetests」似乎不存在。 – 2010-06-30 20:15:19

+1

不應該只是從Build.VERSION.SDK_INT中獲取定義的值,而不是從某個隨機包中查詢targetSdkVersion? – 2010-06-30 20:20:41

+1

謝謝, 不知道爲什麼我從一開始就沒有使用它? 我只是去了一個艱難的方式:-( 感謝 Ilana – ilana 2010-07-01 08:14:38

25

我一直在尋找這一點,並沒有找到一個解決方案 - 在這裏結束了,我想通了自己所以對那裏的人看爲此:

int SDK_INT = android.os.Build.VERSION.SDK_INT;

此返回OS SDK級別7閃電8的Froyo等

+1

這實際上不是一個真正的問題的答案,因爲SDK_INT可從API Level 4(Donut,1.6)獲得。所以,它在嘗試檢測1.5時失敗,這是這個問題... – Zordid 2012-03-23 11:41:55

9

爲了得到Android的像內部版本:2.2,2.3.3,4.0或4.0.3 ... 使用下面的代碼:

String deviceVersion = Build.VERSION.RELEASE; 
相關問題