迫使用户更新应用程序 [英] forcing users to update application

查看:96
本文介绍了迫使用户更新应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  

可能重复:
  <一href="http://stackoverflow.com/questions/6619972/force-users-to-have-latest-android-app-version">Force用户拥有最新的Andr​​oid的应用程序版本

是否有可能检查的Andr​​oid应用程序启动时,用户是否有它的最新版本,并强迫他更新,如果他有没有?或者至少checkt是否有新版本,并告诉他,该应用程序将只重新工作时,他下载并安装该更新?

背景是,我有一个应用程序需要与服务器进行通信。当我改变的东西在服务器和客户端之间的接口我想,以确保客户端具有最新的版本。

有没有原生的方式做到这一点?还是我必须要检查这个我自己?

如果你有一个MySQL数据库是这只访问?是有可能做到这一点只用纯文本在网页上,并把它与当前的应用程序版本检查?

  

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

  HttpClient的客户端=新DefaultHttpClient();
HTTPGET请求=新HTTPGET(URL);
HTT presponse响应= client.execute(要求);

字符串latestVersion =;
。InputStream的时间= response.getEntity()的getContent();
的BufferedReader读卡器=新的BufferedReader(新的InputStreamReader(在));
StringBuilder的海峡=新的StringBuilder();
串线= NULL;
而((行= reader.readLine())!= NULL)
{
    str.append(线);
}
附寄();
latestVersion = str.toString();
 

然后把它比作安装的版本:

 私人字符串getSoftwareVersion(){
    尝试 {
            PackageInfo packageInfo = getPackageManager()getPackageInfo(getPackageName(),0)。
            返回packageInfo.versionName;
    }赶上(PackageManager.NameNotFoundException E){
            Log.e(TAG,包找不到名称,E);
    };
 }
 

这就是有人告诉我,但我完全不知道该怎么办与两个codeS。任何人都可以指定?

解决方案

市场会告诉用户,当你发布一个新的版本,这取决于他们是否要升级,您可以添加注释,告诉他们为什么,超越有没有内部机制

如果你只是关闭当前应用程序通过检查目前的版本对你的网站,你真的要刺激的人,他们不会是球迷们长时间,如果这是对我做的最有可能的,我只想卸载应用程序

至于接口去,你应该支持旧版本以及较新的版本,如果你不知道用户会再算上这对你

当然,这完全取决于你,但一般而言,您应该使之成为愉快的体验尽可能地为你的最终用户,即使它会导致你一些额外的工作。

Possible Duplicate:
Force users to have latest android app version

Is it possible to check on startup of an Android app whether the user has the latest version of it and force him to update if he has not? Or at least checkt whether there is a new version and tell him, that the app only will work again when he downloads and installs the update?

Background is that I have an app that needs to communicate with a server. When I change something in the interface between server and client I want to assure that the client has the latest version.

Is there any native way to do this? Or do I have to check this on my own?

Is this only accessible if you have a mysql database? is it possible to do this with just plain text on a webpage and have it checked with the current app version?

Checking latest version on your server, in a text file:

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

and then compare it to the installed version:

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

that's what someone told me but i don't exactly know what to do with the two codes. Can anyone specify?

解决方案

The market will tell the users when you publish a new version, it's up to them whether or not to upgrade, you can add notes to tell them why, beyond that there is no internal mechanism

If you just shut down the current application by checking the current version against your web site you are really going to irritate people and they will not be fans for long, if that was done to me most likely I would just uninstall the application

As far as interfaces go you should support the older version as well as the newer version, if you do not users will again count this against you

Of course it's up to you but in general you should be making it as pleasant an experience as possible for your end users even if it causes you some extra work

这篇关于迫使用户更新应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆