String path = Environment.getExternalStorageDirectory()+"/MediaPad/video/";
//不要用R.string.settingFile将路径配置死了
File settingFile = new File(path);
Log.d("debug",settingFile.toString());
if(settingFile.exists()){
Log.d("debug","exists");
} else {
Log.d("debug","not exists");
}
//不要用R.string.settingFile将路径配置死了
File settingFile = new File(path);
Log.d("debug",settingFile.toString());
if(settingFile.exists()){
Log.d("debug","exists");
} else {
Log.d("debug","not exists");
}
谢谢回复哈,其实我就是用的Environment.getExternalStorageDirectory()来取得路径,只是为了举例说明就简写了,在同一个虚拟机里面,用eclipse编译生成的APK就没有问题,可以读取。但是把project放到android源代码里面用mm编译生成的APK就读不到了,
只能读到/mnt/sdcard ,/mnt/sdcard里面的内容读不出来。
我在framwork/base/policy下面执行访问也不行,在framework/base/core/res/AndroidManifest.xml里面加入了
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
还是不行,依旧读不到,执行file.exists()仍旧返回错误
ls -al mnt/
drwxr-xr-x root system 2013-09-16 09:41 asec
d--------- system system 2013-09-16 09:40 cd-rom
drwxr-xr-x root system 2013-09-16 09:40 obb
lrwxrwxrwx root root 2013-09-16 09:40 sdcard -> /storage/sdcard0
lrwxrwxrwx root root 2013-09-16 09:40 sdcard2 -> /storage/sdcard1
drwx------ root root 2013-09-16 09:40 secure
看/mnt/sdcard的权限是777的啊,程序应该是可以读的啊。<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>这个权限加了吗?