По умолчанию файлы, сохраненные во внутреннем хранилище, являются приватными для вашего приложения, а другие приложения не могут получить к ним доступ (а также не могут).
Я могу видеть файл "/data/data/package_name/files/in file explite в DDMS, но когда я подключил указанный выше URI файла с помощью imageUri по электронной почте, я увидел, что прикрепленный файл имеет значение 0kb. Я использовал API электронной почты по умолчанию для Android.
Может ли кто-нибудь предложить мне, как прикрепить файл к электронной почте, который является приватным для приложения?
хотя я успешно сохраняю файл на SD-карте и прикрепляю файл с SD-карты, это нормально работает.
Но если SD-карта недоступна и сохранение файла во внутреннем хранилище, то как я могу прикрепить их по электронной почте.
String FILENAME = "hello_file.txt";
String string = "hello world!";FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
File imageFile = getFileStreamPath(FILENAME );
Uri imageUri = Uri.fromFile(imageFile);
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("*/*");
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM,imageUri);
this.startActivityForResult(Intent.createChooser(emailIntent, "Send mail..."),SUB_ACTIVITY);