创建手动版本

ray*_*man 5 android

我打算创建一个应用程序,而不是在谷歌市场上发布它.我希望用户偶尔更新一次应用程序,因为更新将通过服务器进行更新(让我们不知道我将如何做到这一点)...所以对于这个我需要给每个应用程序一些ID,所以我知道该用户必须更新他的应用程序,而不是新安装(我想避免用户将有两个版本的应用程序的情况)..并且当然将应用程序安装到新用户.当我手动更新时,我怎么能用版本签署这些应用程序?mybe还有其他想法吗?

谢谢,雷.

Cas*_*eyB 15

您可以使用AndroidManifest.xml中的android:versionCodeandroid:versionName属性.这样,只要包名称相同,它就不会重叠,您可以像这样获取该信息,看看是否有更新的版本:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="org.moo.android.myApp"
  android:versionCode="12"
  android:versionName="1.2.37">
Run Code Online (Sandbox Code Playgroud)

然后,您可以读取这些值并与服务器上的值进行比较,如下所示:

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();
}
Run Code Online (Sandbox Code Playgroud)

如果您要检查同一应用程序的版本,则可以用硬替换硬编码的软件包名称context.getPackageName().

  • 如果您愿意,可以使用`context.getPackageName()`而不是硬编码.我认为. (4认同)