私が抱えている問題は、ハードウェアに関連している可能性があります。とにかく私は困惑しています。
私はいくつかのコードを書きました(私が取って変更したもの:SDカードへのテキストファイルの書き込みは失敗します)私は以下のコードを置きました。それは私のソニーエリクソンX8でうまく動作します。しかし、Sony Ericsson Arcでは、電話でファイルを探してもファイルが見つかりません。コードを1行ずつ確認しましたが、失敗はありません。それはまるで電話のようで、私はただ盲目です。デバッガーで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();
}
}