在 Android 29 中,我希望能够在多个 Android 用户之间共享大文件。是否可以建立一个用户可以访问的共享目录?用户安装的应用程序可以浏览该目录吗?
或者也许有一个用户拥有原始目录和文件,而其他用户拥有一个已安装/符号链接(symbolic link)的目录?
安装的应用程序可以访问此目录对于我的实现非常重要。
我一直在浏览 Android 文件系统并试图理解:
/mnt/user/0
、/storage/emulated/0
和 /data/media/0/
但我看不到办法在另一个用户的主目录中创建到这些目录中的文件夹的符号链接(symbolic link)。
最佳答案
您正在查找的目录实际上是 /storage/emulated/0
在你的情况下。我的意思是所有其他应用程序可以使用/访问的唯一目录是外部存储。
但是,从Android Q(targetSDKVersion 29)开始,外部存储权限有了相当大的变化。
我建议查看 documentation的getExternalStoragePublicDirectory
如果您使用的 Android 版本低于 Android Q。
对于 Android Q 及更高版本,我建议查看 documentation的getExternalFileDir
。
此外,@CommonsWare 有一篇关于此的精彩文章。请查看his blog post 。我在这里引用他的博客。
For Android Q, you can add
android:requestLegacyExternalStorage="true"
to your<application>
element in the manifest. This opts you into the legacy storage model, and your existing external storage code will work.Technically, you only need this once you update your
targetSdkVersion
to29
. Apps with lowertargetSdkVersion
values default to opting into legacy storage and would needandroid:requestLegacyExternalStorage="false"
to opt-out.
关于android - 我可以在 Android 中为多个用户创建共享文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61482606/