我需要檢查目標設備上當前正在運行的Android發行版本的代碼。你能提供代碼示例嗎?如何在代碼中檢查Android版本,如1.5或1.6
15
A
回答
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;
}
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;
相關問題
- 1. Android - 支持1.6+,並支持1.5版本的棄用代碼?
- 2. 如何查看Android源代碼版本?
- 3. 如何檢查Android代碼更改是否在特定版本中?
- 4. 如何檢查Zxing Library 1.6或1.7?
- 5. 如何檢查源代碼中numpy的當前版本?
- 6. 將代碼從JDK 1.5遷移到1.6
- 7. 如何檢查當前版本的Java是否高於1.6
- 8. Spark SQL性能:版本1.6和版本1.5
- 9. 如何在Java中檢查Windows版本?
- 10. 如何在wix中檢查sql版本
- 11. 如何在OpenSUSE中檢查lxml版本
- 12. 如何在android 1.5版本中指定installLocation?
- 13. 如何在PHP中將PDF版本1.5轉換爲版本1.4
- 14. 檢查Android版本
- 15. 如何檢查LS版本
- 16. 如何檢查版本號?
- 17. 如何檢查libpng版本
- 18. 如何檢查Spark版本
- 19. 如何檢查NHibernate版本?
- 20. 如何檢查enyo版本?
- 21. 如何在Safari 8或更高版本中檢查HTTP請求
- 22. 刪除matlab版本檢查代碼
- 23. 版本檢查VBA(excel)代碼(redhat)
- 24. Maven構建如何在java版本1.6或之前使用rt.jar
- 25. Android:自API 1.0以來刪除DrivingDirections - 如何在1.5/1.6?
- 26. TFS代碼審查如何檢查代碼與舊版本不是早期版本或不同版本不同的分支
- 27. 如何在MATLAB中檢查MATLAB編碼器版本?
- 28. 如何在Android OS中定製iptable源代碼版本4.0.4
- 29. 如何處理在Android 1.6到2.x的版本問題
- 30. 哪裏可以下載當前版本的標準JavaDoc doclet的源代碼(1.5或1.6)
不幸的是,這不是工作在我的Nexus 2.1一。 「com.android.phonetests」似乎不存在。 – 2010-06-30 20:15:19
不應該只是從Build.VERSION.SDK_INT中獲取定義的值,而不是從某個隨機包中查詢targetSdkVersion? – 2010-06-30 20:20:41
謝謝, 不知道爲什麼我從一開始就沒有使用它? 我只是去了一個艱難的方式:-( 感謝 Ilana – ilana 2010-07-01 08:14:38