Gmailアプリケーションで送信するメールに添付するテキストファイルをSDカードに作成するのに問題があります。Gmailアプリでメールに添付すると、メールは赤い「送信中...」の状態で永久に停止します。このファイルは、以下のcreateCSVfile()を使用して作成されます。
コードをデバッグし、アプリを異なる時間に起動すると、csv_file.exists()は常にfalseを返します。これは、ファイルが見つからず、アプリが実行されるたびに作成されるかのようになります。ただし、ファイルマネージャーを使用すると、実行中および実行中にファイルが存在することがわかります。
何か助けてください?ありがとう
File csv_file = null;
String createCSVfile() {
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
csv_file = new File( getExternalFilesDir(null) + File.separator + "InOutStats.txt");
if (csv_file != null ) {
if( csv_file.exists() ){
Log.v("CSV_FILE", "Stat file " + csv_file.toString() +" already there!");
}else{
csv_file.getParentFile().mkdirs();
try {
boolean bool = csv_file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
FileWriter fWriter = null;
try {
fWriter = new FileWriter(csv_file);
} catch (IOException e) {
e.printStackTrace();
}
BufferedWriter writer = new BufferedWriter(fWriter);
try {
writer.write("Some text here!!! " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis()));
writer.newLine();
} catch (IOException e) {
e.printStackTrace();
}
try {
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}else{
Log.v("CSV_FILE", "NO SD CARD HERE???");
}
return csv_file.toString();
}