По умолчанию файлы, сохраненные во внутреннем хранилище, являются частными для вашего приложения, и другие приложения не могут получить к ним доступ (равно как и пользователь).
Я могу видеть файл "/ data / data / package_name/ files / in file исследовать в DDMS, но когда я прикрепил вышеуказанный URI файла с помощью imageUri в электронной почте, то увидел, что вложенный файл имеет размер 0 КБ. Я использовал почтовые 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);