2013-02-11 47 views
0

時發送的文件,因爲不添加擴展到文件(PDF)添加附件PDF的Android電子郵件

這是我的代碼發送電子郵件的問題是:

@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(); 
       } 

      } 

回答

2

一個Android屬於一個包的資源對於該包是私有的,並且不能被另一個進程訪問。在這種情況下,電子郵件應用程序無法訪問您應用程序的資源。您可能需要將資源複製到外部存儲器中,或者爲電子郵件應用程序實施ContentProvider以加載您的流。這ContentProvider也將標識您的附件的正確的MIME類型。

+0

謝謝 這正是我一直在尋找的! – Fabio 2013-02-12 00:07:43

+0

很高興我能夠提供幫助。 – 323go 2013-02-12 00:09:53