1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android 7.0文件读写权限配置

android 7.0文件读写权限配置

时间:2023-07-24 19:07:35

相关推荐

android 7.0文件读写权限配置

在gradle中指定applicationId,这里也会跟着变了AdroidManifest.xml

android:authorities="${applicationId}.fileProvider"

<providerandroid:name="android.support.v4.content.FileProvider"android:authorities="${applicationId}.FileProvider"android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/rc_file_path" />

res/xml/rc_file_path.xml 文件的名字没有要求,只要放在xml文件夹下面就可以了

<?xml version="1.0" encoding="utf-8"?><paths><external-path path="." name="name" /></paths>

paths这个元素内可以包含以下一个或多个

<files-path name="name" path="path" />对应内部内存卡根目录:Context.getFileDir() + /path/<cache-path name="name" path="path" />对应应用默认缓存根目录,物理路径相当于Context.getCacheDir() + /path/<external-path name="name" path="path" />对应外部内存卡根目录,物理路径相当于Environment.getExternalStorageDirectory() + /path/<external-files-path name="name" path="path" />对应外部内存卡根目录下的APP公共目录,物理路径相当于Context.getExternalFilesDir(String) + /path/<external-cache-path name="name" path="path" />对应外部内存卡根目录下的APP缓存目录,物理路径相当于Context.getExternalCacheDir() + /path/

拍照:

//创建图片存放fileFile imgFile = new File("照片存放目录");Uri uri;//根据当前系统版本决定使用哪个api,N是Android7.0的代号if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//第一个参数是上下文,第二个参数来自清单文件,必须完全一样,第三个参数为上面创建的照片fileuri = FileProvider.getUriForFile(this, "${applicationId}.FileProvider", imgFile);} else {//Android7.0还用原先的apiuri = Uri.fromFile(imgFile);}//设置拍照后保存目录intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

应用安装

//创建安装包fileFile apkFile = new File(path);Uri uri;//根据当前系统版本决定使用哪个api,N是Android7.0的代号if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {uri = FileProvider.getUriForFile(context, "{applicationId}.FileProvider", apkFile);} else {//Android7.0还用原先的apiuri = Uri.fromFile(apkFile);}//当前代码在Activity里则下面这句可省略intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//授权Intent读取URI和写URI的权限intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);intent.setDataAndType(uri,"application/vnd.android.package-archive");context.startActivity(intent);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。