2011-05-07 96 views
0

我在2.2環境中執行了我的應用程序,當我在舊版本中安裝我的apk時,出現語法分析器錯誤。有沒有什麼可能顯示我們自己的消息,而不是解析器錯誤信息。根據我的意見,它不是。Android如何查看版本

+0

您何時何地得到此解析器錯誤? – thoredge 2011-05-07 06:57:06

+0

安裝文件時。 – RAAAAM 2011-05-07 06:59:06

回答

1

做這樣的事情

private int GetVersion() 
{ 
    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; 

      //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

其實,Eclair是2.1(API級別7)和Froyo是2.2(API級別8) – Aleadam 2011-05-07 05:20:36

+0

感謝您的立即答覆。我有疑問,你能解釋一下你在開關盒裏寫的東西嗎? Log應該做什麼,是顯示錯誤信息還是其他的東西.. ?? – RAAAAM 2011-05-07 05:23:58

+0

:-)它只是一個信息性消息。 – 2011-05-07 07:20:20

0

據我所知,你建立了2.2版本,然後你將它部署的早期版本。你爲什麼不建立它的早期版本?

我不認爲你可以得到比解析錯誤更多的錯誤。

+0

你的想法很好,但我問的是如果我安裝我的apk在舊版本而不是2.2,安裝文件之前我想顯示消息,如「對不起,你需要2.2」。這是可能的,在應用程序的角度來看.. ?? – RAAAAM 2011-05-07 07:50:46