我想访问外部存储中公用文件夹中的图片文件。这里是我的代码:无法访问android-Galaxy S3中的图片文件
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
java.io.File pictureDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
///storage/sdcard0/Pictures
boolean canRead = pictureDir.canRead();
//Above gives false
java.io.File[] picFiles = pictureDir.listFiles();
//null is returned for the file though I've atleast three picture files at this location
}
它给了我正确的公共文件夹指针,但canRead()方法返回false。当我尝试列出图片目录下的文件时,它给了我空。
让我知道,如果你需要更多的细节。
[更新]
权限在AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
[更新2] 这看起来像一个设备特定问题,因为它可以在模拟器罚款。
你是否需要AndroidManifest.xml的权限? – wangyif2 2013-04-21 18:17:27
是的,我在android清单中有android.permission.WRITE_INTERNAL_STORAGE。更新了上面的问题。 – bianca 2013-04-21 18:21:29
尝试使用getExternalFilesDir(DIRECTORY_PICTURES)而不是getExternalStoragePublicDirectory – wangyif2 2013-04-21 18:28:57