不是在et上的程序, 怎么实现自动升级? 比如我程序启动的时候, 到服务器检测到新版本, 把apk下载到本地之后, 怎么自动卸载旧版本, 安装新版本?
我需要通过程序自动实现这个卸载,安装过程, 别跟我说手工操作哈。谢谢!!俺是android新手, 大家见谅。
我需要通过程序自动实现这个卸载,安装过程, 别跟我说手工操作哈。谢谢!!俺是android新手, 大家见谅。
解决方案 »
- 新手,搭建开发环境的问题:ADT模拟器的屏幕上只显示"ANDROID",无其它图像或文字。
- 改变button的位置和大小?
- 真机做TCPClient,PC做Server,无法通讯,模拟器可以,有朋友遇到过这个问题吗?
- android语音识别求教。
- java的线程里有没有类似vc的CriticalSection
- aptana3.4.2在eclipse中的插件,如何设置其背景色,现在是黑的看不清
- android源码亮灭屏实现
- tween动画Animation怎么用在一个继承View的类里的某个单独bitmap上?
- 为什么一个acitivity已finish,但还会再执行onCreate方法?
- 如何将activity装载进fragment
- 重力传感器各个轴的值一直在变化问题
- (新手)手中有个OMAPE3530的板子,如何移植android系统
版本比较根据项目配置文件来做
关于删除:覆盖的化不用,否则手动删除,包括临时文件
签名的key如果你换了,用户必须自己从 设置中卸载老版本才能继续安装
程序启动是开一个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);