1

私のアプリは添付ファイル付きのメールを送信していますが、問題はメールを送信するのに添付ファイルなしで送信することです。ファイルはSDカードに存在し、私はそれを切り離してファイルを表示することができます。

これがEmail.javaのコードです

Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL, new String[] { "" });
i.putExtra(Intent.EXTRA_SUBJECT, "");
i.putExtra(Intent.EXTRA_STREAM,Uri.parse("file://mnt/sdcard/fun/itisfun.csv"));    
i.putExtra(Intent.EXTRA_TEXT, "");
i.setType("message/rfc822");
startActivity(Intent.createChooser(i,"gmail :"));

これが私がメニフェストで試した許可です

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<permission  android:name="android.permission.INTERNET"></permission>

私はあなたの助けに感謝します。

4

4 に答える 4

6

以下のように試してください:

       File pngDir = new File(Environment.getExternalStorageDirectory(),"fun/"); 
            if (!pngDir.exists())
            {
                pngDir.mkdirs();
            }              
            File pngfile=new File(pngDir,"itisfun.csv");
            Uri pngUri =Uri.fromFile(pngfile);
            Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
            emailIntent.setType("text/plain");
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[]{""});
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "");
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "");
            emailIntent.putExtra(android.content.Intent.EXTRA_STREAM,pngUri);
            emailIntent.setType("message/rfc822");
            startActivity(Intent.createChooser(emailIntent, "Send mail..."));
于 2013-01-25T13:25:40.067 に答える
0

メールにファイルを添付するために使用するコードは次のとおりです(Gmailアプリ)。

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
        emailIntent.setType("message/rfc822");
        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
            new String[]{emailTo});
        //has to be an ArrayList
        ArrayList<Uri> uris = new ArrayList<Uri>();
        //convert from paths to Android friendly Parcelable Uri's
        for (String file : filePaths)
        {
            File fileIn = new File(file);
            Uri u = Uri.fromFile(fileIn);
            uris.add(u);
        }
        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailText);
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,subject);
        emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
        context.startActivity(Intent.createChooser(emailIntent, "Send mail via"));
于 2013-01-25T13:25:04.170 に答える
0

このコードを試してください:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
// emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailSignature);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, toSenders);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subjectText);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, messageText+"\n\n"+emailSignature); 

emailIntent.setType("image/jpeg");
File bitmapFile = new File(Environment.getExternalStorageDirectory()+
        "/"+FOLDER_NAME+"/picture.jpg");
myUri = Uri.fromFile(bitmapFile);
emailIntent.putExtra(Intent.EXTRA_STREAM, myUri);
startActivity(Intent.createChooser(emailIntent, "Send your email in:"));

それがあなたを助けることを願っています。

于 2013-01-25T13:26:21.643 に答える
0

次のコードを試してください

                Intent i = new Intent(Intent.ACTION_SEND);
                i.setType("text/plain");
                i.putExtra(Intent.EXTRA_EMAIL, new String[] { "" });
                i.putExtra(Intent.EXTRA_SUBJECT, "");
                i.putExtra(Intent.EXTRA_STREAM,Uri.parse("file://sdcard/fun/itisfun.csv"));    
                i.putExtra(Intent.EXTRA_TEXT, "");
                i.setType("message/rfc822");
                startActivity(Intent.createChooser(i,"gmail :"));
于 2013-01-25T13:27:30.467 に答える