Android アプリから、ユーザーが添付ファイル付きのメールを送信できるようにしようとしています。添付ファイルはプレーン テキスト ファイルです。ユーザーがこのメールを送信するメールアプリのみを選択できるようにしたい。
これは私が使用しているコードです:
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Some awesome email");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Check out the attachment!");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.getAbsolutePath()));
listActivity.startActivity(Intent.createChooser(emailIntent, "Send email with...");
メール アプリのみが表示されますが、これまでのところ問題ありません。gmail を使用して電子メールを送信すると、電子メールは添付ファイルも含めて正常に届きます。
しかし、k9 メールを使用してメールを送信すると、添付ファイルが base64 でエンコードされてしまいます。だから、基本的には読めません。
私が使うとき
emailIntent.setType("text/plain");
添付ファイルは問題なく (プレーン テキストで) 届きますが、アプリの選択ダイアログにはメール以外のアプリが含まれています。
両方の長所を活かすにはどうすればよいですか? choose-app-dialog の電子メール アプリと、使用されている電子メール クライアントに関係なくプレーン テキストで届くテキスト ファイルの添付ファイルのみですか?