android第三方程序自动升级

alexlee002 2010-02-24 09:57:09
不是在market上的程序, 怎么实现自动升级?

比如我程序启动的时候, 到服务器检测到新版本, 把apk下载到本地之后, 怎么自动卸载旧版本, 安装新版本?
我需要通过程序自动实现这个卸载,安装过程, 别跟我说手工操作哈。

谢谢!!

俺是android新手, 大家见谅。
...全文
323 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenlin56 2011-01-20
  • 打赏
  • 举报
回复
1. 我程序启动的时候, 到服务器检测到新版本
程序启动是开一个Service,从网络上访问服务器的URL。
2. 服务器检测新版本
我是这样做的:
获取当前的版本号:
PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);
packageInfo.versionCode
此版本号被定义在AndroidManifest.xml的<manifest>的 android:versionCode="1"属性中
将当前版本号传递到服务器比对,服务器比对发现有比用户更新的版本,则返回最新版本的下载URL
3. Android端判读返回的URL不为空表示有新的版本,提示用户下载。
4. 下载完毕后,安装下载的apk
Uri uri = Uri.parse(path);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setData(uri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setClassName("com.android.packageinstaller",
"com.android.packageinstaller.PackageInstallerActivity");
startActivity(intent);
DrSmart 2011-01-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 corvin 的回复:]
你的包名一样,打包用的keystore一样,就自动帮你覆盖就版本了,不需要你自己卸载
[/Quote]

签名的key如果你换了,用户必须自己从 设置中卸载老版本才能继续安装
corvin 2011-01-20
  • 打赏
  • 举报
回复
你的包名一样,打包用的keystore一样,就自动帮你覆盖就版本了,不需要你自己卸载
懒骨头 2010-02-25
  • 打赏
  • 举报
回复
Intent 有方法,下载远程文件到本地
版本比较根据项目配置文件来做
关于删除:覆盖的化不用,否则手动删除,包括临时文件
alexlee002 2010-02-24
  • 打赏
  • 举报
回复
有没有人做过啊? 给点提示?

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧