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 に答える