我正嘗試在我的設備上在SD上創建文件。這工作一週前,但現在不是,我不明白爲什麼。未在SD卡上創建Android文件
的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)
是的,該文件未創建:( – JasJar