RT比如用户当前的程序版本是1.0,服务器端有新版本1.1,请问如何在程序中自动更新。

解决方案 »

  1.   

    除非程序的各个模块都是做成jar包,这样升级时可以只更新有变动的模块,不过这这的话,架构一定要严格,不能老变动,不然修改是很麻烦的。
      

  2.   

    android的升级我没有做过 ,windows的以前做过,弄一个 update的,定期检测服务器时候有新版本,有的,把原来的删除,新的download下来安装。思路应该就是这样的,具体实现目前不清楚
      

  3.   

    上面几位都没有回答我想知道的东西。可能是我没有表述清楚吧。
    我的意思是说,我从服务器下载的APK文件,怎么在程序里安装。或者是调用系统的安装流程,或者能够直接安装。而不是仅仅下载到手机里面。
      

  4.   

    我刚刚完成了更新功能模块,细节问题很多。
    到服务器查询下载的部分,你应该与服务器组沟通。下载完成后,向Android系统发送安装请求(这个需要申请权限),下面是安装代码Uri uri = Uri.fromFile(new File(your_file));
    Log.i("URI", uri.toString());
    Intent updata_intent = new Intent(Intent.ACTION_VIEW);
    updata_intent.setDataAndType(uri,
    "application/vnd.android.package-archive");
    Log.i(" to startActivity(intent);", "start");
    startActivity(updata_intent);
    Log.i("finish updata", "finish updata");
      

  5.   

    过了这么久还有人在这个帖子留言啊。这个问题早就解决了。把我的做法公布一下吧: String path = "";//path是安装包的路径,放在SD卡上面,一定不能放在应用自己的目录下
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri uri = Uri.parse("file://" + path);
    intent.setDataAndType(uri, "application/vnd.android.package-archive");
    startActivity(intent);这个方法是通过覆盖安装的方式更新的
      

  6.   

    什么权限呢?  <!-- 安装apk权限 -->
        <uses-permission android:name="android.permission.INSTALL_PACKAGES" />