不是在et上的程序, 怎么实现自动升级? 比如我程序启动的时候, 到服务器检测到新版本, 把apk下载到本地之后, 怎么自动卸载旧版本, 安装新版本?
我需要通过程序自动实现这个卸载,安装过程, 别跟我说手工操作哈。谢谢!!俺是android新手, 大家见谅。

解决方案 »

  1.   

    Intent 有方法,下载远程文件到本地
    版本比较根据项目配置文件来做
    关于删除:覆盖的化不用,否则手动删除,包括临时文件
      

  2.   

    你的包名一样,打包用的keystore一样,就自动帮你覆盖就版本了,不需要你自己卸载
      

  3.   


    签名的key如果你换了,用户必须自己从 设置中卸载老版本才能继续安装
      

  4.   

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