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

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

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

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

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

  • 如何将独特的GCM注册ID存储到MySQL中
  • Android:Android设备是否支持JDBC?
  • Sqlite将Column添加到表中的某个位置(Android)
  • MySQL - 结合INSERT,VALUES和SELECT?
  • iOS和Android设备令牌的长度是多less?
  • 是一个设备还是一个帐户的FCM(firebase云消息传递)令牌?
  • 无法在数据库中存储表情符号
  • android - 通过局域网连接到mySQL数据库,而不使用networking服务器
  • 是否可以在网页上使用纯文本进行此操作并使用当前应用版本进行检查?

    这就是我要做的事情:

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

    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); }; }