我正在尝试从SD卡读取文件,但发现我没有读取权限。 我首先获取公共存储目录并列出如下文件:
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File[] files = dir.listFiles();
然后我选择其中一个文件并测试它是否可读:
Log.d(TAG, files[0].canRead());
这总是显示错误,我不知道为什么。我能够写到目录(事实上它是我写的文件,我想读),我尝试过各种变体
files[0].setReadable(true);
和
dir.setReadable(true);
没有运气。我也有
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
包含在我的清单文件中,并确保我的设备没有连接任何东西(如建议here),但事实并非如此。
我可以从设备中提取文件并在文本编辑器中读取。关于这可能是什么的任何想法?
统计:在三星Galaxy平板电脑上使用API 12。