首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AndroidQ兼容性适配指南

访问和共享外部存储中的文件的应用 使用特定于应用的目录和媒体集合目录 了解详情 ✅ 增强了用户对位置权限的控制力 仅限前台权限,可让用户更好地控制应用对设备位置信息的访问权限 在后台时请求访问用户位置信息的应用...(如当用户按设备上的主屏幕按钮或关闭设备的显示屏时)访问设备的位置信息。...在分区存储模型下,SD卡的公共目录是不让访问的,除了共享媒体的那几个文件夹。...使用SAF选择单个文件 通过Intent.ACTION_OPEN_DOCUMENT调文件选择界面,用户选择并返回一个或多个现有文档,所有选定的文档均具有持久的读写权限授予,直至设备重启。...解决方法2: 使用SAF向用户申请文件或目录的读写权限,请参见使用SAF选择单个文件。

7.1K30

Android 10适配要点,作用域存储

或 许对于开发者而言这算是好处吧,但对于用户而言,上述好处无异于一些流氓行为。...但同时,刚才提到的那两个“好处”也就不存在了。这个目录中的文件会被计入到应用程序的占用空间当中,同时也会随着应用程序的卸载而被删除。 那么有些朋友可能会问了,我就是需要访问其他目录该怎么办呢?...为此,Android系统针对文件类型进行了分类,图片、音频、视频这三类文件将可以通过MediaStore API来进行访问,而其他类型的文件则需要使用系统的文件选择器来进行访问。...而从Android 10开始,我们已经不能以绝对路径的方式访问外置存储空间了,所以文件下载功能也会受到影响。 那么该如何解决呢?主要有以下两种方式。...注意,上述代码只能在Android 10或更高的系统版本上运行,因为MediaStore.Downloads是Android 10中新增的API。

2.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【权限问题专项】存储权限合理使用场景VS不合理使用场景说明

    在 Android 4.4(API 级别19)或更高版本中,应用无需请求任何与存储空间相关的权限即可访问外部存储空间中的应用私有目录。卸载应用后,系统会移除这些目录中存储的文件。...:电影类型 4.DIRECTORY_DCIM:照片类型,相机拍摄的照片视频都在这个目录 5.DIRECTORY_DOWNLOADS:下载文件类型 6.DIRECTORY_DOCUMENTS:文档类型 7...;b.在用户换头像、背景图,从相册中选择图片的场景下,仅可申请android.permission.READ_EXTERNAL_STORAGE; 2.实用工具类:在下载的文件、录屏软件保存下的录屏或截屏等媒体文件需要长期保存不随应用卸载而删除的场景下...,可申请android.permission.WRITE_EXTERNAL_STORAGE;当用户需要打开或读取分享本地其他应用的文件(例如图片、音频、视频、文档表格等文件)时可申请 android.permission.READ_EXTERNAL_STORAGE...无需申请存储权限;c.用户分享网页链接时,无需申请存储权限; 3.游戏类:a.游戏资源包的更新;b.加载游戏中的广告资源,如观看广告视频30S赠送游戏积分、道具; 4.离线缓存至外部存储私有目录/storage

    1K20

    好好管理你应用的文件夹,别再乱用了

    安卓碎片化的问题,由来已久,这次来看一下文件储存碎片化的问题。到底要怎么去正确选择和管理文件存储呢? 1 为什么要管理文件?...用户对app进行数据清理或卸载可以清理外部存储和内部存储下的所有文件目录。 3.2 内部存储 内部存储的文件夹其他应用和用户无法直接访问,可以用于存放敏感数据。...这个是在Android 5.0加入的api,创建和获取位于/sdcard/Android/media目录下的应用目录,该目录下的文件能够被其他应用访问和被MediaStore查询和获取。...为数众多的无责任开发者在这里胡乱创建文件夹,乱起名、乱放文件,普通用户根本无法判断哪些文件夹、文件是有用的,卸载app之后留下庞大的无法清理的垃圾文件,导致手机空间不足。...Environment.DIRECTORY_DCIM是手机的相册,这个文件夹都是系统相关的app在用,存放相机拍摄的图片,手机截图之类的,不推荐开发者使用这个文件夹,避免混乱。

    1.4K10

    Android 11 应用兼容性适配,看这篇就够了

    为了让用户更好地控制自己的文件,保护用户隐私数据,并限制文件混乱情况,Android 11在分区存储基础上限制了应用访问其他应用的文件。...SAF(Storage Access Framework)同样也禁止访问应用私有目录。 某些应用的核心用例需要访问大量的文件,如文件管理操作或备份和恢复操作。...内部存储根目录 2 访问文件 您无法再使用 ACTION_OPEN_DOCUMENT_TREE 或 ACTION_OPEN_DOCUMENT操作来请求用户从以下目录中选择单独的文件: Android...此变更,可以防止app通过访问目录文件返回的错误不同,来判断特定app是否已被安装。 3 适配指导 如果仍想要通过SDK接口获取其他app的信息,需要在清单文件中声明自己“需要交互的app”。...Android 11 不再支持此功能,而是必须由用户先选择要对其授予或撤消权限的应用。此变更可以让权限的授予更有目的性,从而达到保护用户的目的。

    13K42

    Android文件系统整理

    内部存储空间 内部存储空间是 App 私有的存储数据的存储空间,系统会阻止其他应用对这部分数据的访问,并且在 Android 10(API 级别 29)及更高版本中,系统会对这些位置进行加密。...在具有多个用户的设备上(如 UserManager 所述),每个用户都有自己的隔离共享存储。应用程序只能访问它们正在运行的用户的共享存储。...对于这些情况,Android 提供了一种名为“所有文件访问权限”的特殊应用访问权限。 例如,防病毒应用的主要场景可能是需要定期扫描不同目录中的许多文件。...如果此扫描需要反复的用户交互,让用户使用系统文件选择器选择目录,可能就会带来糟糕的用户体验。其他场景(如文件管理器应用、备份和恢复应用以及文档管理应用)可能也需要考虑类似情况。...应用可以通过执行以下操作向用户请求“所有文件访问权限”: 1、在清单中声明 MANAGE_EXTERNAL_STORAGE 权限。

    83330

    如何使用MEAT在iOS设备上采集取证信息

    该工具旨在帮助安全取证人员在iOS设备上执行不同类型的信息采集任务,将来该工具会添加针对Android设备的支持。...工具要求 Windows或Linux系统 Python 3.7.4或7.2环境 pip包,具体参考txt 已测试的平台 该工具的当前版本已在iPhone X iOS 13.3和iPhone XS iOS...将指示工具通过越狱设备的AFC提取可访问的文件和文件夹。...允许访问的文件夹为“\private\var\mobile\Media”,其中将包含下列文件夹: AirFair Books DCIM Downloads general_storage iTunes_Control...AFC2、Apple File Conduit 2 在MEAT上使用文件系统采集功能,可以允许该工具开启AFC2服务,并将目标设备上所有的文件和文件夹拷贝至我们的主机系统中。

    1.6K10

    干货 | 携程Android 10适配踩坑指南

    以 Android 10(API 级别 29)及更高版本为目标平台的应用在默认情况下被赋予了对外部存储设备的分区访问权限(即分区存储), 对外部存储文件访问方式重新设计,便于用户更好的管理外部存储文件。...,未申请存储权限,通过ContentResolver查询不到文件Uri,即使通过其他方式获取到文件Uri,读取或创建文件会抛出异常; MediaStore API不能够访问其他应用创建的非媒体文件(pdf...允许其他应用访问,并且应用卸载后不允许删除的文件,文件需要存储在共享目录,应用可以选择是否进行目录整改,将文件迁移到Android10要求的media集合目录。...主要是在公共目录下创建文件或文件夹拿到本地路径uri,不同的Uri,可以保存到不同的公共目录中。...Android 11 依然致力于让用户畅享最新科技,并始终确保将安全和隐私放在首位,帮助用户管理敏感数据和文件的访问权限。此外还对平台的关键区域做出了强化,以保持操作系统的弹性和安全性。

    3.3K77

    Android 渗透测试学习手册 第二章 准备实验环境

    对于 Windows 用户,我们需要右键单击My Computer(我的电脑)图标,然后选择Properties(属性)选项。...在以前的配置中,为了节省虚拟设备的启动时间,选中Snapshot复选框也是一个不错的选择。 一旦设备加载,我们现在可以访问我们的命令提示符,并使用 android 命令检查设备配置。...此二进制文件位于安装中的/sdk/tools文件夹下的adt-bundle文件夹中。...我们还要设置位于sdk文件夹中的tools和platform-tools文件夹的位置,就像我们之前使用环境变量一样。...Android Debug Bridge Android Debug Bridge 是一个客户端 - 服务器程序,允许用户与模拟器器或连接的 Android 设备交互。

    82520

    Android11 (API30)适配

    为了让用户更好地控制自己的文件,保护用户隐私数据,并限制文件混乱情况,Android 11在分区存储基础上限制了应用访问其他应用的文件。...SAF(Storage Access Framework)同样也禁止访问应用私有目录。 某些应用的核心用例需要访问大量的文件,如文件管理操作或备份和恢复操作。...修改其他App,需要弹框用户确认MediaStore保留Downloads无SAF保留 1.3.8.直接路径访问 Android 11上,App可以直接通过路径访问拥有权限的文件。...内部存储根目录 2 访问文件 您无法再使用 ACTION_OPEN_DOCUMENT_TREE 或 ACTION_OPEN_DOCUMENT操作来请求用户从以下目录中选择单独的文件: Android/data...Android 11 不再支持此功能,而是必须由用户先选择要对其授予或撤消权限的应用。此变更可以让权限的授予更有目的性,从而达到保护用户的目的。

    8K11

    Android-文件存储目录

    1.内部存储(Internal Storage) 内部存储位于系统中很特殊的一个位置,对于设备中每一个安装的 App,系统都会在 data/data/packagename/xxx 自动创建与之对应的文件夹...如果你想将文件存储于内部存储中,那么文件默认只能被你的应用访问到,且一个应用所创建的所有文件都在和应用包名相同的目录下。也就是说应用创建于内部存储的文件,与这个应用是关联起来的。...当一个应用卸载之后,内部存储中的这些文件也被删除。对于这个内部目录,用户是无法访问的,除非获取root权限。...说明: 可存放共享媒体文件 这个是在Android 5.0加入的api,创建和获取位于/sdcard/Android/media目录下的应用目录,该目录下的文件能够被其他应用访问和被MediaStore...公有目录 公有目录里面的文件是可以被自由访问,即文件的数据对其他应用或者用户来说都是可以访问的,当应用被卸载之后,其卸载前创建的文件仍然保留。

    3.7K21

    AndroidR兼容性适配指南

    执行批量操作 在 Android 11 及更高版本中,您可以要求用户选择一组媒体文件,然后通过一次操作更新这些媒体文件。这些方法可在各种设备上提供更好的一致性,并且可让用户更轻松地管理其媒体集合。...访问文件 您无法再使用 ACTION_OPEN_DOCUMENT_TREE 或 ACTION_OPEN_DOCUMENT intent 操作请求用户从以下目录中选择单独的文件: Android/data...Android 11 中的这一行为变更旨在避免重复请求用户已选择拒绝的权限。...声明您的应用与一组特定的其他应用交互 如果您的应用以 Android 11 或更高版本为目标平台,您可能需要在应用的清单文件中添加 元素。...Media Store 会根据文件类型将文件放入组织良好的文件夹中,例如 DCIM、电影、下载等。对于所有此类文件,应用程序也可以继续通过文件 API 进行访问。

    2.1K20

    干货 | Trip.com Android 11 适配之旅

    在分区存储开启之后,将受到以下限制: 私有目录访问权限不变 可以直接访问本应用共享的媒体文件 可以申请权限访问其他应用共享的媒体文件 可以在弹窗确认后修改或删除其他应用共享的媒体文件 外置存储的非媒体文件不能直接访问...通过 getExternalStorageDirectory() 获取根目录后,拼接了 "/log.txt" 来建立文件或文件夹。...推荐的适配方式:对于这一类文件,首先推荐都存到私有目录下,如果对“应用卸载后仍要保存”有强烈的需求,可以在开发阶段考虑通过 MediaStore 保存到 Downloads 或者 Documents 文件夹内...然后就是上面说到的文件导出问题,如上文所说,Android 11开始应用无法在外置存储的根目录直接创建文件夹以读写文件了,所以一些文件的导出操作也需要同步修改,因为自动化流程只在测试流程内使用,并不会影响真实用户...希望本文能够对开发者们有所帮助,在日常工作过程中关切隐私安全、注重用户体验,共建良好发展的 Android 生态。

    1.7K20

    targetSdk27 FileProvider 摄像和照相

    -- 在SDCard中创建与删除文件权限 --> android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS...而从 Android N 开始,将不允许在 App 间,使用 file:// 的方式,传递一个 File ,否者会抛出 FileUriExposedException的错误,会直接引发 Crash。...当我们代码中使用的绝对路径,(如 “DCIM/camerademo”)匹配到了install.mxl中设置到的path字段的内容(path=“DCIM/camerademo”),Uri中显示路径就会被对应的...当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中。...在这个程序中,我们不需要关心如何去扫描手机中的文件,只要了解如何查询和使用这些信息就可以了。

    94910

    Android Q 适配 之 存储新特性

    存储空间限制 2.1 背景 为了让用户更好地控制自己的文件,并限制文件混乱的情况,Android Q 修改了 APP 访问外部存储中文件的方法。...在 Scoped Storage 新特性中,外部存储空间被分为两部分: ● 公共目录: Downloads、Documents、Pictures 、DCIM、Movies、Music、Ringtones...解决方法 2:使用 SAF 向用户申请文件或目录的读写权限。...然后向用户申请该多媒体文件的删改权限;使用 SAF 获取到文件或目录的 Uri 时,用户已经授权读写,可以直接使用,但要注意 Uri 权限的时效。...2.2.6 无法访问图片文件中的地理位置数据 问题原因:直接从图片文件输入流中解析地理位置数据。 问题分析:由于图片的地理位置信息涉及用户隐私,Android Q 上默认不向 APP 提供该数据。

    1K30

    Android开发笔记(三十二)文件基础操作

    File类 File类是java中的文件操作工具类,它的常用方法如下: File构造函数 : 根据文件路径构造File对象 delete : 删除文件 exists : 判断文件是否存在...getName : 获取文件的文件名 getPath : 获取文件的目录路径 getParent : 获取上级目录路径 isDirectory : 判断是否为目录/文件夹 isFile : 判断是否为文件...创建目录/文件夹 renameTo : 重命名文件,其实就是移动文件到指定目录 获取文件大小有两种方式,一种是使用File类的length方法,另一种是使用FileInputStream类的available...: 文档存放目录 DIRECTORY_DOWNLOADS : 下载文件存放的目录 DIRECTORY_MOVIES : 视频存放目录 DIRECTORY_PICTURES : 图片存放目录 DIRECTORY_MUSIC...SD卡操作 app操作SD卡时需增加如下处理: 1、在AndroidManifest.xml中增加SD卡的权限配置 android:name="android.permission.WRITE_EXTERNAL_STORAGE

    1.2K10

    Android的内部存储和外部存储怎么区分?

    1.定义   内部存储:内部存储位于Android手机系统的data/data/这个目录下,内部存储是私有的,主要用于存储系统和应用程序的某些数据,对于其他应用程序来说是不可见的,并且会随着应用程序的卸载而被删除...外部私有存储位于/storage/emulated/0/Android/data/包名这个目录下,它和内部存储一样是私有的,并且其他应用程序是无法访问的,会随着应用程序的卸载而被清除。        ...它对所有的应用程序都是可见的,前提是该应用程序有外部存储权限,而且外部公有存储中的数据不会随应用程序的卸载而被删除。 2.使用哪些api进行访问?   ...Environment.getExternalStorageDirectory() Environment.getExternalStoragePublicDirectory(String type)   参数type用于指定文件夹的类型...注:在Android10之后,不能再使用外部公有存储下的两个方法了,应用程序只能访问自己的外部私有目录,所以Android10之后尽量使用外部私有存储下的两个方法。

    78611

    笔记——安卓存储知识(十)

    storage或mnt文件夹即为外部存储区,外部存储中的文件是可以被用户或者其他应用程序修改的,有两种类型的文件(或者目录): >1.公共文件Public files:文件是可以被自由访问,且文件的数据对其他应用或者用户来说都是有意义的...比如camera应用,生成的照片大家都能访问,而且camera不在了,照片仍然在。公有目录有九大类,比如DCIM、DOWNLOAD、PICTURES等这种系统为我们创建的文件夹。...私有目录就是Android这个文件夹路径下的。...sd.png 如果按照路径的特征,我们又可以将文件存储的路径分为两大类,一类是路径中含有包名的,一类是路径中不含有包名的,含有包名的路径,因为和某个App有关,所以对这些文件夹的访问都是调用Context...里边的方法;而不含有包名的路径,和某一个App无关,我们可以通过Environment中的方法来访问,如:九大共有目录。

    71930

    从内部存储说起,你的手机里的文件都是些什么?

    emulated/0/作为根目录(或者说相对目录)进行讲解/storage/emulated/0/Android存放安卓系统的文件和应用程序的数据Android/data,存放应用程序的配置信息、用户数据...删除这个目录系统和应用程序是不会崩溃的(毕竟一般用户也有权限访问),但是你对这个应用的配置可能就没了,比如你单机游戏的存档也许就放在这下面。...这个目录下放了一个.nomedia文件,对系统说明扫描媒体文件(图片音乐视频之类的)时不要扫描该目录,从而避免将其中的文件添加到媒体库中。...Correlation Method,你拍的照片和视频都放在这里面DCIM/.android我猜测是配置文件,可能和相机有关DCIM/.tmfs,猜都没法猜,完全不了解,这两个目录都不用管,平常用不上...铃声文件夹,但是实际上什么也没有SysQS资料最少的一个目录,不知道是做什么的,里面也没有文件Tencent/tbs腾讯专属文件夹,tbs的全称Tencent Browsing Service,意为腾讯浏览服务

    1.7K40

    Android 分区存储常见问题解答

    ="29" /> Q: 我想要访问不属于我应用的照片、视频或一段音频,我必须使用系统文件选择器吗?...如果应用曾经创建了一个目录用于存储所有这些文件,那最好的选择就是使用系统文件选择器和 ACTION_OPEN_DOCUMENT_TREE,以便用户可以选择要使用的特定文件夹。...包含敏感或私人信息的文件应当存储在 Context#getFilesDir() 所返回的目录中;而不敏感的数据则应存储于 Context#getExternalFilesDir() 所返回的目录中。...Q: 我可以将非媒体文件放置于其他文件夹中 (例如 Downloads 文件夹),而无需任何权限。这是一个 Bug 吗? A: 不是。...)) 中内容的同时,仍可以向使用系统文件选择器的其他应用提供访问权限。

    1.1K10
    领券