and*_*per 47 android sd-card android-permissions android-external-storage android-6.0-marshmallow
Android在如何处理SD卡和存储方面有很多变化:
从API 23(Android 6)开始,事情似乎再次发生变化......
对于API 23,至少有两件新东西与存储相关:
由于没有配备SD卡的Android 6设备,并且因为模拟器本身并不能真正使用SD卡,所以仍然无法知道发生了什么.
SD卡是否可以使用File-API而不是DocumentFile获取访问权限?
如果我想访问所有外部存储路径(包括SD卡),这是否意味着我需要两次请求此权限:一个用于主外部存储,一个用于SD卡?
在手动授予许可之前,SD卡上的文件是否可以以任何方式访问?
假设用户选择使用"Adoptable Storage Devices",这对于检索应用程序文件路径的各种函数意味着什么?例如:getFilesDir,getExternalFilesDir,...?getExternalFilesDirs的oder会因为它而改变吗?
当用户将应用程序从SD卡移动到SD卡时(使用"可采用的存储设备"),应用程序的文件会发生什么变化?SD卡上的应用程序文件怎么样?他们会留下来吗?或者他们会搬到某个地方?
例如,如果应用程序在SD卡上有"file1.txt",则在路径"/ storage/extSdCard/Android/data/appPackageName"上,它有一个文件"file2.txt"(或者甚至是同一个名字)在路径"/ storage/emulated/0/Android/data/appPackageName"上的主外部存储上.切换后,这些文件会发生什么?如果有的话,他们将如何合并到一个文件夹中?
将应用程序移动到SD卡(使用"Adoptable Storage Devices")时,是否意味着不会使用内部存储?
Vik*_*ngh 10
让我回答Adoptable存储设备相关问题:
- 假设用户选择使用"Adoptable Storage Devices",这对于检索应用程序文件路径的各种函数意味着什么?例如:getFilesDir,getExternalFilesDir,...?getExternalFilesDirs的oder会因为它而改变吗?
当用户选择将SD卡用作"可采用的存储设备"(格式为内部)时,表示SD卡现在仅可用作内部存储,即没有SD卡可用于存储下载的文件.相关方法返回的路径中不会更改订单.例如:如果用户将其SD卡格式化为"Adoptable Storage Devices",则getExternalFilesDir()将仅列出外部存储路径.SD卡路径将不可用.
- 当用户将应用程序从SD卡移动到SD卡时(使用"可采用的存储设备"),应用程序的文件会发生什么变化?SD卡上的应用程序文件怎么样?他们会留下来吗?或者他们会搬到某个地方?例如,如果应用程序在SD卡上有"file1.txt",则在路径"/ storage/extSdCard/Android/data/appPackageName"上,它有一个文件"file2.txt"(或者甚至是同一个名字)在路径"/ storage/emulated/0/Android/data/appPackageName"上的主外部存储上.切换后,这些文件会发生什么?如果有的话,他们将如何合并到一个文件夹中?
当用户将SD卡选为"Adoptable Storage Devices"时,用户需要使用"Format as internal"选项将其SD卡格式化为内部存储.格式表示存储在SD卡上的所有数据/文件都将被删除.类似地,当用户想要从"可采用的存储设备"中移除他的SD卡时,用户再次必须使用"作为便携式格式"选项将他的SD卡格式化为便携式存储器.
- 将应用程序移动到SD卡(使用"Adoptable Storage Devices")时,是否意味着不会使用内部存储?
是的,不会使用原始内部存储空间.在选择SD卡作为"Adoptable Storage Devices"之后,将仅使用SD卡存储.所有数据/缓存都将存储到SD卡中