安卓7.0及以上安装apk权限问题

再安卓7.0谷歌推出了私有文件目录访问权限问题,(我们可以访问到data目录,但是data里面文件访问不到需要申请权限)

安卓apk获取Uri就不能像以前那样方便获取了;

 适配方案:

在res新建个xml文件夹,建个file_paths.xml文件 ,文件里面代码如下



    
    

    

    

    
    

 

在AndroidMainfest 配置下 



//8.0安装未知来源权限


//适配7.0及以上私有目录访问权限问题

    
        
    

 

使用代码

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

//7.0私有目录访问限制适配
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);

    fileUri = android.support.v4.content.FileProvider.getUriForFile(ProjectInit.getApplicationContext(), ProjectInit.getApplicationContext().getPackageName() + ".android7.fileprovider", file);
} else {
    fileUri = Uri.fromFile(file);
}

intent.setDataAndType(fileUri, "application/vnd.android.package-archive");
ProjectInit.getApplicationContext().startActivity(intent);

 

 

 

 

你可能感兴趣的:(工具,控件)