问题是文件发送的时候,因为没有将扩展名添加到文件(Pdf)
这是我发送电子邮件的代码:
@Override
public void onClick(View v) {
try {
final Intent emailIntent = new Intent(
android.content.Intent.ACTION_SEND);
emailIntent.setType("application/pdf");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
Uri prueba = Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.tecnolite);
emailIntent.putExtra(Intent.EXTRA_STREAM, prueba);
startActivity(Intent.createChooser(emailIntent, "Enviando correo..."));
} catch (Throwable t) {
Toast toast = Toast.makeText(getApplicationContext(), "Error al enviar el correo", Toast.LENGTH_SHORT);
toast.show();
}
}
答案 0 :(得分:2)
属于一个包的android资源对该包是私有的,并且不能被另一个进程访问。在这种情况下,电子邮件应用无法访问您应用的资源。您需要将资源复制到外部存储器中,或者为电子邮件应用实现ContentProvider
以加载流。此ContentProvider
还会为您的附件识别正确的mime类型。