Вы можете использовать атрибуты android:versionCode
и android:versionName
в AndroidManifest.xml. Таким образом, до тех пор, пока имя пакета совпадает, оно не будет перекрываться, и вы можете получить эту информацию, например, чтобы увидеть, есть ли более новая доступная версия:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.moo.android.myApp"
android:versionCode="12"
android:versionName="1.2.37">
Затем вы можете прочитать эти значения и сравнить со значениями на вашем сервере, например так:
try
{
PackageManager manager = context.getPackageManager();
PackageInfo info = manager.getPackageInfo("org.moo.android.myApp", 0);
int code = info.versionCode;
String name = info.versionName;
// Compare with values on the server to see if there is a new version
}
catch(NameNotFoundException nnf)
{
nnf.printStackTrace();
}
Если вы проверяете версию того же приложения, вы можете заменить жестко закодированное имя пакета на context.getPackageName()
.