因此,正如他们在这里所说:
在清单中声明MANAGE_EXTERNAL_STORAGE权限。
使用ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION意图操作将用户引导到系统设置页面,在该页面中,用户可以为应用程序启用以下选项
val projectionDownloads = arrayOf(
MediaStore.Downloads._ID,
MediaStore.Downloads.DISPLAY_NAME,
)
val selectionDownloads = ""
val selectionArgsDownloads = emptyArray<String>()
val sortOrderDownloads = "${MediaStore.Downloads.DISPLAY_NAME} ASC"
context.applicationContext.contentResolver.query(
MediaStore.Downloads.EXTERNAL_CONTENT_URI,
projectionDownloads,
selectionDownloads,
selectionArgsDownloads,
sortOrderDownloads
)?.use { cursor ->
Log.i("SeeMedia", "we got cursor! $cursor")
val idColumn = cursor.getColumnIndex(MediaStore.Images.ImageColumns._ID)
val nameColumn = cursor.getColumnIndex(MediaStore.Files.FileColumns.DISPLAY_NAME)
while (cursor.moveToNext()) { //Here return false
Log.i("SeeMedia", "Move to next!")
val id = cursor.getLong(idColumn)
val name = cursor.getString(nameColumn)
Log.i("SeeMedia", "ID = $id AND NAME= $name")
}
}
我的应用程序包含两个权限:
问题3:如果我想查询其他未知的文件/目录,例如html" target="_blank">下载中有另一个文件夹等等,该怎么办?“downloads/folder1/folder2”我想我应该用mediastore.files,对吧?那么访问这些文件的URI是怎样的呢?
编辑1:SDK 29=Android 10
SDK 30=Android 11
如果我做错了什么,请告诉我,因为现在我的脑子里充满了很多杂乱无章的东西,因为我看了很多视频、文档和问题,我只是试图理解一些关键点。
这里有一个简单的代码,我最终可以用MediaStore查询根“/”,以防您想看到它,但不知道如何查询其他路径并检索它们的文件:
val projection = arrayOf(
MediaStore.Files.FileColumns.DISPLAY_NAME
)
context.applicationContext.contentResolver.query(
MediaStore.Files.getContentUri("external"),
projection,
null,
null,
null
)?.use { cursor ->
Log.i("SeeMedia", "we got cursor! $cursor")
val nameColumn =
cursor.getColumnIndex(MediaStore.Files.FileColumns.DISPLAY_NAME)
while(cursor.moveToNext()){
Log.i("SeeMedia", "Move to next!")
val name = cursor.getString(nameColumn)
Log.i("SeeMedia", "Name = $name")
}
}
回答你的一些问题:
我是否需要其他权限来读取文件?
不,正如这里所述,您已经获得了所有可能的与文件相关的权限。
问题内容: 在Python中,如何跳到Windows资源管理器中的文件?我找到了跳到文件夹的解决方案: 但是我没有文件的解决方案。 问题答案: 来自Geoff Chappell的 Windows资源管理器命令行
我开始做一些类似资源类的东西,在那里我可以为我的应用程序保存我所有的文件,像图像和声音,但它变得非常混乱,所有的东西都在应用程序的乞求中加载。 这是包含所有内容的类:https://sourceb.in/s8rjgqqgss(头文件)https://sourceb.in/cjiq78hdov(cpp文件的一部分) 我很抱歉把它贴在不同的网站上,但正如你所看到的,它真的很乱,我也不知道如何让它变得更
这是我的HTML: 一个按钮用于打开文件资源管理器。这是我的Java代码: 我无法打开文件资源管理器,因此无法传递文件路径。
我正在使用Drowpizard 0.7.1,但也许我会很快升级到0.8.4。 是否有人知道如何向dropwizard添加管理员资源,如下面示例中的操作菜单所示?
我正在尝试创建许多文件,作为用户的一个功能。例如,我可能会编写一个应用程序,为他们过去几周听的每首歌创建一个文件(例如,一个带有歌词的文本文件)。我不能让用户为我生成的每个文件选择目录和文件名,这将花费他们数小时的时间。用户应该可以从其他应用程序访问这些文档。 在Android11中,存储访问框架似乎没有什么用处。我注意到最初有两个有趣的选项: 创建一个新文件(该文件创建启动用户与之交互的活动,以
在Windows上使用VSCode时,我可以在文件资源管理器中导航,并在聚焦的文件上点击< kbd>Enter,文件将在编辑器中打开。但是,在我的Mac上,当我这样做时,VSCode将打开重命名输入,如下所示: 我不知道它为什么这样做。即使在其他文本编辑器(例如Atom)中,默认行为也是在回车上打开文件。有没有办法更改此行为,以便文件在回车上打开?到目前为止,我找到的唯一解决方法是CTRL回车,它