Android在线更新适配

2019-05-24  本文已影响0人  山上的神仙

我这里就不说下载过程了,我是默认各位读者都是已经把app下载好了到某个目录
1.在清单文件中添加权限(这个权限经本人测试,是不需要动态申请的)

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

2.在res建立文件夹xml,解释一下,这里path= “.” 是代表sd卡路径,name 是你需要获得读取权限的目录


7.0.png

3.在清单文件的application节点下注入以下代码

        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="com.qq.qq.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"></meta-data>
        </provider>

4.判读版本

             if (Build.VERSION.SDK_INT >= 24) {//判读版本是否在7.0以上
                        Uri apkUri = FileProvider.getUriForFile(BaseApplication.getInstance(), "xml中        
                        android:authorities的值", apkFile);
                        Intent install = new Intent(Intent.ACTION_VIEW);
                        install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//添加这一句表示对目标  应用临时授权该Uri所代表的文件
                        install.setDataAndType(apkUri, "application/vnd.android.package-archive");
                        startActivity(install);
                    } else {
                        Intent install = new Intent(Intent.ACTION_VIEW);
                        install.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
                        install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(install);
                    }
上一篇 下一篇

猜你喜欢

热点阅读