Android应用更新-自动检测版本及自动升级

原文

http://www.cnblogs.com/keyindex/articles/1819504.html

注:实质,把自己新版的APK放在可以下载的地方,先自己设置个通信,检查版本,我是直接放在云端,当然也可以放在自己的电脑上,可以用

FTP文件服务器同一无线下访问下载,或者通过花生壳映射远程下载

原文受版本影响,最后安装的部分需要修改,等本人整理好以后再编辑这篇文章

private void update() {
        //安装应用
        Intent intent = new Intent(Intent.ACTION_VIEW);

        //判断是否是AndroidN以及更高的版本
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            Uri contentUri = FileProvider.getUriForFile(getApplicationContext(), BuildConfig.APPLICATION_ID + ".fileProvider", new File(Environment
                    .getExternalStorageDirectory(), DOWNLOAD_NAME));
            intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
        } else {
            intent.setDataAndType(Uri.fromFile(new File(Environment
                    .getExternalStorageDirectory(), DOWNLOAD_NAME)), "application/vnd.android.package-archive");
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        }



//        intent.setDataAndType(Uri.fromFile(new File(Environment
//                        .getExternalStorageDirectory(), DOWNLOAD_NAME)),
//                "application/vnd.android.package-archive");
        startActivity(intent);
原文地址:https://www.cnblogs.com/yangfengwu/p/9291056.html