我正在尝试在我的设备上的 SD 上创建一个文件。这在一周前有效,但现在无效,我不明白为什么。
Logcat 打印:
java.io.FileNotFoundException ...pathtofile... (no such file or directory)
因此,该文件没有被创建。我对 android 清单具有正确的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
我以这种方式创建文件:
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
base = Environment.getExternalStorageDirectory().getAbsolutePath();
}
String fname = File.separator +"VID_"+ timeStamp + ".3gp";
mediaFile = new File(base+fname);
然后我检查它是否存在:
if(mediaFile.exists()){
Log.v("mediaFile","ex");
}else{
Log.v("mediaFile","no ex");
}
日志说它不存在。我也尝试过使用 file.createNewFile() 但它不起作用。
所以,一周前它可以工作,现在它不能工作,可能是SD卡的问题????会不会是某种BUG!!!???
谢谢
编辑:更多代码
创建文件的函数是:
private static File getOutputMediaFile()
调用自:
private static Uri getOutputMediaFileUri(){
return Uri.fromFile(getOutputMediaFile());
}
并将 mediarecorder 输出设置为:
vMediaRecorder.setOutputFile(getOutputMediaFileUri().toString());
所以,当我做 mediarecorder.prepare() 时:
try {
vMediaRecorder.prepare();
} catch (IllegalStateException e) {
Log.v("RELEASE VIDREC1",e.toString());
releaseMediaRecorder();
return false;
} **catch (IOException e) {
Log.v("RELEASE VIDREC2",e.toString());
releaseMediaRecorder();
return false;**
}
粗体字是运行的,并打印:
java.io.FileNotFoundException ...pathtofile... (no such file or directory)