0
Я прочитал и перечитал свой код, но он выглядит хорошо для меня, но письмо отправляется без вложения.Проблема с электронной почтой, отправленной неправильно без прикрепления файла
Я даже перечитываю файл (readFile()) перед вызовом активности электронной почты.
Что случилось с моим кодом:
private void sndRecMail(){
btnSend = (Button) findViewById(R.id.send);
btnSend.setVisibility(View.VISIBLE);
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String subject = "file vendors";
Intent email = new Intent(Intent.ACTION_SEND);
email.setType("*/*");
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);
String dir = context.getFilesDir().getAbsolutePath();
fi = new File(dir, "vendors.txt");
if (!fi.exists() || !fi.canRead())
return;
readFile(); // check if file is not empty and readable!!!
Uri uri = Uri.fromFile(fi);
email.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(email, "Select Email Client"));
}
});
}
'ReadFile();' 1 Что смысл, если вы не проверяете возвращаемое значение и возвращаете, если не читаете? – greenapps
'getFilesDir()' является частной внутренней памятью для вашего приложения. Приложение электронной почты не может читать. – greenapps
1-й комментарий: Я ленился: я проверил через отладчик. 2-й комментарий: Я думаю, что это проблема. I – narb