#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». возможно ли это сделать с точки зрения приложения ..??