之前的路径是这样的:
root = File(Environment.getExternalStorageDirectory().absolutePath)
但是在 android 10 发布后,这个东西就被弃用了。在网上找到了这个:
String destPath = mContext.getExternalFilesDir(null).getAbsolutePath();
或像这样:
val externalStorageVolumes: Array<out File> =
ContextCompat.getExternalFilesDirs(applicationContext, null)
val primaryExternalStorage = externalStorageVolumes[0]
但他们都返回这个:
/storage/emulated/0/Android/data/com.example.my/files
我需要:
/storage/emulated/0/
我看到两个选项:
- 切断路径中不必要的部分,最终得到
/storage/emulated/0/
- 立即对根进行硬编码,而不是通过函数获取它。
也许这个问题还有其他解决方案?
这是我的问题的解决方案,也许它会帮助某人:
并进一步:
可能你需要解释一下这里发生了什么))这个功能需要能够将一组文件添加到 json 中,然后通过信函将其发送给收件人。这些是一般意义上的文件附件。在一个函数中,
onActivityResult
我调用一个将文件卸载到数组中的函数。我首先对文件进行编码,Base64
并获取该文件的名称。也许有人会派上用场:)