0

私が抱えている問題は、ハードウェアに関連している可能性があります。とにかく私は困惑しています。

私はいくつかのコードを書きました(私が取って変更したもの: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();
    }

}

4

1 に答える 1

1

私の場合、問題は Xperia ARC が USB ケーブルでラップトップに接続されていたことでした。どうやら、そうすると物事はうまく機能しません。X8 では問題ないので、電話固有のものだと思います。コンピュータがファイルをロックしているため、Android がファイルを更新できない可能性があります。なぜエラーが発生しないのかわかりません。将来の読者のための結論: 電話をコンピュータから切断してみてください。

于 2012-06-26T21:48:23.763 に答える