强制用户更新应用程序

时间:2011-07-10 02:40:22

标签: java android mysql

  

可能重复:
  Force users to have latest android app version

是否可以检查Android应用程序启动时是否有最新版本的用户并强制他更新,如果他没有?或者至少检查是否有新版本并告诉他,该应用程序只有在下载并安装更新时才会再次运行?

背景是我有一个需要与服务器通信的应用程序。当我在服务器和客户端之间的界面中更改某些内容时,我想确保客户端具有最新版本。

有没有本地方法可以做到这一点?或者我必须自己检查一下?

只有拥有mysql数据库才能访问它吗?是否可以使用网页上的纯文本进行检查并使用当前应用版本进行检查?

  

在服务器上检查文本文件中的最新版本:

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);

String latestVersion = "";
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null)
{
    str.append(line);
}
in.close();
latestVersion = str.toString();

然后将其与已安装的版本进行比较:

private String getSoftwareVersion() {
    try {
            PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
            return packageInfo.versionName;
    } catch (PackageManager.NameNotFoundException e) {
            Log.e(TAG, "Package name not found", e);
    };
 }

这是有人告诉我的,但我不知道如何处理这两个代码。任何人都可以指定吗?

1 个答案:

答案 0 :(得分:1)

市场会在发布新版本时告诉用户,是否升级取决于他们,您可以添加注释来告诉他们原因,除此之外没有内部机制

如果你只是通过检查你网站上的当前版本来关闭当前的应用程序,你真的会激怒人们,他们将不会是粉丝很长时间,如果这样做我很可能只是卸载应用程序

就接口而言,您应该支持旧版本以及较新版本,如果您不这样做,用户将再次对您进行计数

当然,这取决于你,但总的来说,你应该为最终用户提供尽可能愉快的体验,即使它会给你带来额外的工作