转载自: http://blog.csdn.net/lovexieyuan520/article/details/9250099
在android软件开发中,总是需要更新版本,所以当有新版本开发的时候,就需要软件有自动更新的功能,让用户无需自己去手动更新方便用户
具体的过程网上有很多我就不多说,现提供一些链接供大家参考
http://www.cnblogs.com/wainiwann/archive/2012/03/12/2391810.html
http://blog.csdn.net/android_tutor/article/details/7015986
以上两篇文章都实现了android程序自动更新功能,网友可以参考。
现在讲一下我遇到的问题,我也是按照以上方法去实现的,发现以下的问题
1。当下载完以后,安装的时候,系统显示正在安装,然后就没有,回到了主页,没有显示安装成功的界面,让用户不知所措。
2.。出现“install_failed_already_exists”这个错误。
3。出现“INSTALL_FAILED_VERSION_DOWNGRADE”这个错误。
纠结了一天多终于找到答案了。
对于第一个问题,原来在按装程序的时候我用的代码是如下:
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setDataAndType(Uri.parse("file://xxxx.apk"), "application/vnd.android.package-archive");
- context.startActivity(intent);
这在android4.0以前的系统中没有什么问题,但是在android4.0及其以后的系统中就不显示安装成功的界面,应该添加一句:
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
才会出现安装成功的界面。
对于第二个问题,先前已经安装过这个程序,悄可能需要先卸载再重新安装。
第三个问题是你当前程序的版本低于已经安装过和版本号,所以卸载再安装。
还有如果一个问题就是,如果你两个版本的签名文件不一样的话,也会出现第二问题,而且用户在自动更新的时候会报第二个错误,所以在做自动更新的时,要使用同份签名证书,这个切记。