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