我遇到的问题可能与硬件有关。无论如何,我很难过。
我已经编写了一些代码(我从中获取并修改了:将文本文件写入 SD 卡失败)我将代码放在下面。它在我的索尼爱立信 X8 上运行良好。但是,在索尼爱立信 Arc 上,我在手机上查找时找不到文件!我逐行浏览代码,没有失败。就好像它在电话里,而我只是瞎了眼。我什至可以在调试器中看到 gpxfile 的值是:
/mnt/sdcard/MyCompany/MyLog 但是当我使用 windows 资源管理器查找文件时,我当然看不到 MyCompany 目录。手机上是否有一些设置(静默)阻止写入 SD 卡?
这是代码:
public static boolean generateNoteOnSD(String sFileName, String sBody) {
try {
String auxSDCardStatus = Environment.getExternalStorageState() ;
if (!auxSDCardStatus.equals(Environment.MEDIA_MOUNTED)) {
Log.i(TAG, "generateNoteOnSD auxSDCardSTatus: " + auxSDCardStatus);
}
if (auxSDCardStatus.equals(Environment.MEDIA_MOUNTED)) {
File root = new File(Environment.getExternalStorageDirectory(), "Dexcom");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, sFileName);
FileWriter writer = new FileWriter(gpxfile, true);
String currentTimeString = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date());
writer.append(currentTimeString + ", " + sBody +System.getProperty("line.separator") );
//writer.newLine();
writer.flush();
writer.close();
Log.d(TAG,"generateNoteOnSD: Saved to file: " + sBody);
return true;
} else {
return false;
}
} catch(IOException e) {
e.printStackTrace();
return false;
//importError = e.getMessage();
//iError();
}
}