美文网首页
SAF存储框架最新进展作用域访问

SAF存储框架最新进展作用域访问

作者: 小凡帅哥 | 来源:发表于2019-01-02 09:15 被阅读0次

最近刚做了一款外设硬盘的项目,并且帮助部分项目解决了android设备访问外设硬盘权限的问题。我们都知道在Android4.4中引入存储访问框架SAF(storage access framwork),它的原理就是对于初次挂载的外部存储,如果你的manifest文件添加了READ_EXTERNAL_STORAGE 或 [WRITE_EXTERNAL_STORAGE] 系统权限
但是也只是授予读取的权限,就比如我们这个项目,在usb插上外置硬盘的时候,在获取到根目录的情况下,是可以通过文件递归遍历或者媒体查询来获取文件的,但是如果你想删除文件或者创建文件夹,就必须跳转到SAF中Picker文件选择器来选中U盘,点击选择,来授予硬盘根目录的URI权限,并且持久化保存。这样就在第一次授权之后,可以在app中对文件进行操作了。如下代码
Override
public void onActivityResult(int requestCode, int resultCode,
Intent resultData) {
if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
Uri uri = null;
if (resultData != null) {
uri = resultData.getData();
final int takeFlags = intent.getFlags()
& (Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getContentResolver().takePersistableUriPermission(uri, takeFlags);

    }
}

}
这样选择器对于指定文件授权体验还可以,但是我们是对整个硬盘操作,让用户第一次下载进行如此复杂操作之后才能进行文件操作体验是很不好的
Android官方也考虑到这个问题,但是也只是在android7.0提供解决方案---这就是作用域访问,他提供了一种对话框,允许用户在同意之后,可以对指定文件夹进行操作,比如Environment.DIRECTORY_PICTURES等,那我们是对于根目录进行授权有如何操作呢?


usb设备存储.png

如图这个代码就能让你调起外设的usb硬盘权限对话框,但是有个问题就是上述的判断如果手机安装SD卡,那么就会弹出SD卡权限对话框,当然这都是小问题了

相关文章

  • SAF存储框架最新进展作用域访问

    最近刚做了一款外设硬盘的项目,并且帮助部分项目解决了android设备访问外设硬盘权限的问题。我们都知道在Andr...

  • JS作用域理解

    什么是作用域(执行环境)? 作用域可以看成是一种规则,这种规则定义了变量是如何存储以及如何访问的。作用域也可以称为...

  • JavaScript作用域探幽(一)

    什么是作用域? 作用域相当于一套设计良好的用于存储变量并易于访问这些变量的规则。作用域根据确定的周期不同分为静态作...

  • 存储访问框架SAF简析(Storage Access Frame

    1.简介 https://developer.android.google.cn/guide/topics/pro...

  • 闭包

    js的作用域分为全局作用域,和函数作用域, 内部作用域可以访问外部作用域的函数参数,外部不能访问内部函数的变量和参...

  • js作用域链

    作用域定义 变量(变量作用于又称上下文)和函数生效(能被访问)的区域 全局作用域和局部作用域 局部作用域可以访问全...

  • js闭包

    1、含义 js闭包就是跨作用域访问变量——内部作用域可以保持对外部作用域变量的使用,从而使得更外部的作用域可以访问...

  • angular控制器

    作用域 $rootScope 在声明ng-app的位置创建此作用域 同级的作用域,不可相互访问。 子集能够访问父集...

  • JavaScript函数之作用域

    在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。根据访问范围的不同,作用域可分为全局作用域和...

  • 2018-12-18

    JS高级 作用域&作用域链 作用域: 1.作用域的个数:n(函数声明的个数)+1(全局作用域)2.作用域不会存储变...

网友评论

      本文标题:SAF存储框架最新进展作用域访问

      本文链接:https://www.haomeiwen.com/subject/ggcolqtx.html