【发布时间】:2011-07-10 02:40:21
【问题描述】:
是否可以在启动 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);
};
}
这是有人告诉我的,但我不完全知道如何处理这两个代码。谁能指定?
【问题讨论】:
-
更好的方法是计划向后兼容。
-
请不要问你几天前问的同样的问题。如果您需要为您的问题添加更多详细信息,请对其进行编辑。如果您希望人们更加关注,请发布奖金。如果您没有足够的声望点来设置奖励,请赚取一些。
-
那么至少有人愿意回答吗? Mibollma 向后兼容是什么意思?
-
@drake - 我不会回答的。做正确的事:更新你原来的问题,然后删除这个问题。