如何在不中断用户体验的情况下创建一个应用文件夹,其他应用程序也可以使用最新Android版本的SAF访问该文件夹

如何在不中断用户体验的情况下创建一个应用文件夹,其他应用程序也可以使用最新Android版本的SAF访问该文件夹,android,storage-access-framework,android-storage,android-11,Android,Storage Access Framework,Android Storage,Android 11,场景应用程序创建文档,并且必须存储和打开它们。 在SAF创建MyAppDocument文件夹(应用程序可以在其中存储和打开每个文件)之前,这是一个平稳的操作, 现在使用SAF,如果我使用intent withACTION\u OPEN\u DOCUMENT\u TREE来访问必须创建此文件夹的存储位置: 1-显示目录访问选择器对话框 2-如果选取器位于主存储路径(内部或外部sd卡)上,并且我的目标是最新的Android API级别30,则无法选择该路径,并且还会出现额外的恐吓隐私警告,邀请用户创

场景应用程序创建文档,并且必须存储和打开它们。 在SAF创建MyAppDocument文件夹(应用程序可以在其中存储和打开每个文件)之前,这是一个平稳的操作, 现在使用SAF,如果我使用intent with
ACTION\u OPEN\u DOCUMENT\u TREE
来访问必须创建此文件夹的存储位置:

1-显示目录访问选择器对话框

2-如果选取器位于主存储路径(内部或外部sd卡)上,并且我的目标是最新的Android API级别30,则无法选择该路径,并且还会出现额外的恐吓隐私警告,邀请用户创建新文件夹或选择其他路径以避免隐私问题,如图所示(考虑到这应该是一个用户空间而不是某个系统根目录,这很荒谬)

用户仍然可以按照建议选择一个不同的路径或创建另一个文件夹,然后选择这样的路径,但这对于用户体验来说是非常糟糕的,许多用户会因为烦恼或害怕而卸载应用程序


是否有其他方法可以为应用程序创建一个文件夹,用户文件管理器\其他应用程序可以轻松访问该文件夹(因此用户可以轻松复制、打开、移动和管理在其中创建的文件),而无需向用户请求太多手动操作?

“无需向用户请求太多手动操作?”--“太多手动操作”与桌面操作系统上的体验没有什么不同,只是缺少一个树形小部件。“文件打开”、“文件另存为”和“选择目录”对话框是桌面应用程序的常用方法(扩展而言,也是使用本地文件的Web应用程序的常用方法).@Commonware即使不在桌面上也需要这么多步骤才能在安装后使用应用程序,在每个桌面上都有一个可访问的用户空间,应用程序可以在其中工作,而不需要额外的特殊权限,现在假定的用户空间已经以类似根访问的方式受到限制,手机应用程序上的体验必须比n桌面上的一个PCCREATE NEW FOLDER并不可怕。你可以让用户为你的应用程序创建一个漂亮的文件夹,其他应用程序也可以使用saf访问该文件夹。“在每个桌面上都有一个可访问的用户空间,应用程序可以在其中工作,而不需要额外的特殊权限”——在Android中,主要是
getFilesDir()
getCacheDir()
getExternalFilesDir()
getExternalCacheDir()
,以及
上下文上的相关方法。其次,这些是
MediaStore
中的一些特定集合,“手机应用程序上的体验必须比台式PC上的体验更流畅。”--我强烈反对。@桌面上的Commonware一个已安装的应用程序可以在用户路径中创建文件夹和读写文件,而不会出现这种混乱,在Android中,我必须请求存储权限、文件夹权限,用户必须“手动”创建另一个文件夹(除非您有不同的解决方案)然后他必须点击“允许”。这客观上比桌面用户体验差得多,而不是相同的体验。