0

问题是发送文件时,因为没有将扩展名添加到文件(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(); 
                 }

            }
4

1 回答 1

2

属于一个包的 android 资源是该包的私有资源,不能被另一个进程访问。在这种情况下,电子邮件应用程序无法访问您应用程序的资源。您要么需要将资源复制到外部内存中,要么实现ContentProvider电子邮件应用程序以加载您的流。这ContentProvider还将为您的附件识别正确的 mime 类型。

于 2013-02-11T23:41:01.517 回答