Android как проверить версию

#android

#Android

Вопрос:

Я создал свое приложение в среде 2.2, при установке apk в более старой версии я получаю ошибку синтаксического анализатора. есть ли какая-нибудь возможность отобразить наше собственное сообщение вместо сообщения об ошибке синтаксического анализатора. По моему мнению, это не так.

Комментарии:

1. Где и когда вы получаете эту ошибку синтаксического анализатора?

2. Во время установки файла.

Ответ №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;
}
  

Комментарии:

1. На самом деле, Eclair — 2.1 (уровень API 7), а Froyo — 2.2 (уровень API 8)

2. Спасибо за немедленные ответы. У меня есть сомнения, можете ли вы объяснить, о чем вы написали в случае переключения. что должен делать журнал, это отображение сообщения об ошибке или что-то другое, кроме этого ..??

Ответ №2:

Насколько я понимаю, вы создаете для версии 2.2, а затем развертываете ее в более ранней версии. Почему бы вам не создать его для этой более ранней версии?

Я не думаю, что вы можете получить другую ошибку, кроме этой ошибки синтаксического анализа.

Комментарии:

1. Ваша идея хороша, но я прошу на случай, если я установлю свой apk в более старой версии вместо 2.2, перед установкой файла я хочу отобразить сообщение типа «извините, вам нужен 2.2». возможно ли это сделать с точки зрения приложения ..??