私のアプリケーションではインテントメソッドを使用してExcelスプレッドシートデータ(JExcell APIで作成)をエクスポートする便利な方法としてユーザーに電子メールを送信します。電子メールにXLS(Excel)ファイルを添付する
ファイルは、というレコードと呼ばれるフォルダにSDカードに含まれています。
私が送信しようとしているファイルは、measurments.xlsです。
送信前にファイルの存在をテストしました。電子メールコンポーザーに添付ファイルが表示されますが、電子メールを送信して受信すると添付ファイルはありません。
ただし、pngイメージの代わりにExcelファイルを使用すると、添付ファイルが受信されます。だから何を与える?
私は電子メールを送信するために使用するコードを以下に示します。これは、クラスによって、その自己によって単なるparamiterised静的メソッドです。
public static void sendEmailWithAttachment(Context ctx, String to,String subject, String message, String fileAndLocation)
{
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {to});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
File file = new File(fileAndLocation);
// File file = getFileStreamPath();
if (file.exists())
{
Log.v("Farmgraze", "Email file_exists!");
}
else
{
Log.v("Farmgraze", "Email file does not exist!");
}
Log.v("FarmGraze", "SEND EMAIL FileUri=" + Uri.parse("file:/"+ fileAndLocation));
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ fileAndLocation));
ctx.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
}//end method
xlsファイルを受信するには何が必要ですか?メソッドのコードの2行目のMIMEタイプを変更しますか?もしそうなら、何をする。有用なアドバイスをいただければ幸いです。
読んでいただきありがとうございます。
A.
送信/受信メールサーバーが特定の添付ファイルを削除していませんか?それをgmailアカウントに/から送信してみてください。私はMIMEの種類を変更することが役立つかもしれないと思うが、それはメールサーバーの可能性が高いです。 – Shellum
うーん、違いがあるのかどうか分かりませんが、通常は 'file:/'に 'file://'という2つのスラッシュが付きます。やってみて。 – Gophermofur
@Chuck Norris私はGMailのWebアプリケーションを介してファイルを私の仕事の電子メールに送ってきました。 –