前言:

在Android的app中,经常会收到应用程序有新版本发布,询问是否更新的对话框,点击更新之后,安装成功,之后会显示如下图所示的页面,询问是否打开这个新安装的apk.这个是怎么做到的呢?




实现步骤:

在这之前首先要说一个关于自动更新的流程:

1.发现新版本,弹出对话框通知更新

2.点击更新,下载新版本的.apk文件到本地

3.安装这个apk

这里我们主要说的就是这个第三步,通知Android自动自动安转apk,代码非常简单:

        //apk文件的本地路径 
        File apkfile = new File(apkFilePath); 
        //会根据用户的数据类型打开android系统相应的Activity。 
        Intent intent = new Intent(Intent.ACTION_VIEW); 
        //设置intent的数据类型是应用程序application 
        intent.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive"); 
        //为这个新apk开启一个新的activity栈 
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        //开始安装 
        startActivity(intent); 
        //关闭旧版本的应用程序的进程 
        android.os.Process.killProcess(android.os.Process.myPid()); 

这里有两个需要注意的地方

1.为新版本的应用程序创建一个新的activity栈

2.关闭旧版本应用程序的进程

没有这两句,安装完新软件,会出现闪退效果,需要手动找到图标重启才能进入新安装的软件.




评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!