强制用户拥有最新的安卓应用版本

2022-09-04 21:59:22

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

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

有没有原生方法可以做到这一点?还是我必须自己检查一下?

这只有在您有mysql数据库时才可以访问吗?是否可以仅使用网页上的纯文本执行此操作,并将其与当前应用程序版本进行核对?


答案 1

是否可以仅使用网页上的纯文本执行此操作,并将其与当前应用程序版本进行核对?

这就是我要做的:

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

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;//EDIT: versionCode would be better
    } catch (PackageManager.NameNotFoundException e) {
            Log.e(TAG, "Package name not found", e);
    };
 }

答案 2

推荐