0

背景

我有一个使用存储访问框架的应用程序。

它提示用户选择一个目录以获得使用文件的权限:

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);

然后允许用户在目录中选择一个 JPG 图像:

DocumentFile pickedDir = DocumentFile.fromTreeUri(this, treeUri);
DocumentFile[] files = pickedDir.listFiles();
...
DocumentFile file = files[0]; // for example

问题

一位用户在 Android 7 上遇到以下问题。

当程序尝试读取文件的内容(JPEG 图像)时:

InputStream is = getContentResolver().openInputStream(file.getUri());
... // then read the stream in a standard way

内容不是文件的真实内容,而是一些带有单词“CONSOLE”后跟零的随机垃圾:

在此处输入图像描述

文件长度正确,没有报错,只有内容是废话。

这种行为是独一无二的,在任何其他设备上都无法重现。

有没有人遇到过这样的事情?

4

0 回答 0