Java 如何在Android Q(API级别29)中列出所有内部存储文件夹?
我是编程新手,想在android studio中做一个文件管理器。在Java 如何在Android Q(API级别29)中列出所有内部存储文件夹?,java,android,android-studio,kotlin,file-manager,Java,Android,Android Studio,Kotlin,File Manager,我是编程新手,想在android studio中做一个文件管理器。在getexternalstoragedirectory被弃用后,我在列出API级别29中的所有设备文件夹时遇到问题。根据,您必须使用。这将为您提供所选目录的URI,一旦您拥有URI,您就可以访问该目录的所有子目录。来自文档 授予对目录内容的访问权限 文件管理和媒体创建应用程序通常管理 目录层次结构中的文件。在您的应用程序中提供此功能 应用程序中,使用操作\打开\文档\树意图操作,该操作允许 用户授予对整个目录树的访问权限。然后你
getexternalstoragedirectory
被弃用后,我在列出API级别29中的所有设备文件夹时遇到问题。根据,您必须使用。这将为您提供所选目录的URI
,一旦您拥有URI
,您就可以访问该目录的所有子目录。来自文档
授予对目录内容的访问权限
文件管理和媒体创建应用程序通常管理
目录层次结构中的文件。在您的应用程序中提供此功能
应用程序中,使用操作\打开\文档\树意图操作,该操作允许
用户授予对整个目录树的访问权限。然后你的应用程序就可以运行了
访问所选目录中的任何文件及其
子目录
github上还有一个示例应用程序,演示了如何实现此功能。到底是什么问题?在制作播放mp3文件的uri时..显示uri为空,所以您无需任何代码即可执行此操作?我尝试了此代码,但每次显示uri为空。。。。。。。。。mediaplayer=mediaplayer()变量uri:uri=uri.parse((getAppExternalFilesDir().toString()+namecomped))Toast.makeText(this,uri.toString(),Toast.LENGTH_SHORT)。show()mediaplayer=mediaplayer.create(this,uri)mediaplayer.prepare()mediaplayer.start()请将您的代码放在您的帖子中。正如我在答案中所链接的,是github上的一个示例项目。您可以在本地机器上克隆repo以更好地理解代码。您可以帮助我列出android-Q中下载目录中的所有文件吗?