问题标签 [storage-access-framework]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 将文件 PATH 转换为 TreeUri(存储访问框架)
在我的图片库应用程序中,我使用媒体内容提供商图片来膨胀回收站视图。长按图像时,我会为用户提供重命名该图像文件的选项。所以我在回收站视图中为每个图像都有完整的文件路径(例如:- /storage/sdcard1/DCIM/100ANDRO/ak.jpg )。然后我想重命名那个文件。
现在的问题是,由于提供的文件路径是外部 SD 卡的路径,并且对于 Android 5 及更高版本,需要 SAF(存储访问框架)来写入文件。
因此,通常我们使用此代码使用 SAF 重命名文件:-
但是当我们知道 TreeUri 时就是这种情况。在我的情况下,我知道文件路径,因此想将其转换为 TreeUri。
android-6.0-marshmallow - 为什么自 Android 6 起我无法使用 SAF 删除位于 USB 密钥上的文件?
我使用 SAF 访问 USB 密钥上的文件。从 Android 6 开始,无法通过对象 FileDocument 的 delete 方法删除文件。为什么 ?
android - 使用 SAF 访问 Google 驱动器时如何刷新内容
我正在尝试使用以下代码从我的应用程序中的 Google 驱动器访问 PDF 文件:
直接取自谷歌的文档。我可以让文件选择器出现。但是有2个问题:
- 无法刷新文件选择器的内容。
- 在我转到实际的 Google Drive 应用程序并在那里执行刷新之前,不会出现新添加到 Google Drive 帐户的文件。
我想知道我的实现中是否缺少某些东西。我试图在网上搜索,但令人惊讶的是没有发现任何相关内容。更令人惊讶的是,我在 gmail 应用程序上遇到了同样的问题。
提前致谢。
android - 如何随机访问外部驱动器上的 Android SAF 框架返回的流?
我在扩展驱动器(或 USB 驱动器)上有一个大文件可以直接从那里打开,它大约 1GB,所以我不能使用 BufferedStream。是否可以随机访问 SAF(Android 存储访问框架)返回的这个流?请注意,我想在流中间写入一些字节。
我已经写了以下内容,是我做错了什么还是不可能。
我正在使用 Android API 级别 21(棒棒糖)
android - FileOutputStream 异常 EACCES 权限被拒绝
我在论坛中尝试了许多解决方案,但它们似乎不起作用。我需要在我的手机中创建一个 pdf (Environment.getExternalStorageState() +File.separator +"Try" +File.separator +"FirstPdf.pdf";) 但我有一个例外。我在清单中使用verifyStoragePermissions(this)
和。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
android - SAF DocumentFile - 检查路径是否存在而不在每个文件夹级别创建每个 DocumentFile
成像,您想检查“/folder/subfolder/subsubfolder/test/test.txt”文件是否存在,您可以执行以下操作:
这很慢,有没有更快的方法至少检查 SD 卡上是否存在文件?我不想创建每个DocumentFile
只是为了检查路径是否存在......
java - 无法在android中将uri转换为位图
我正在尝试将谷歌文档转换为位图,以便可以在其中执行 OCR。然而,我得到了错误:
E/BitmapFactory:无法解码流:java.io.FileNotFoundException:/document/acc=4;doc=14882:打开失败:ENOENT(没有这样的文件或目录)
E/ReadFile:位图必须为非空
E/CropTest: 读取位图失败
代码:
android - 如何使使用 Storage Access Framework 打开的文档出现在“最近”中?
我打电话createChooser()
给ACTION_GET_CONTENT
。如何使此文档出现在 SAF 选择器的“最近”列表中?该文档仅在创建文档的上下文中提及最近列表。我希望在我的应用程序中打开的文件(在另一个应用程序中创建)出现在这里。
android - Can't access Sd Card after providing permission with Storage Access Framework
I'm trying to provide sd card access inside my app with Storage Access Framework.
This is how I call an intent to let the user choose the sd card directory.
And this is how I manage the intent result to set permissions:
But still can't save any file on sd card.
Value of treeUri
on my device is:
content://com.android.externalstorage.documents/tree/6921-B9FD%3A
What I missed here that system still couldn't let the user have access to sd card(saving a simple file on sd card)?