9

アプリからメールを送信するためのアクションを作成するたびに、QR クライアントを含む多くのオプションが表示されます...

電子メール クライアント経由でのみ送信を強制する方法はありますか?

電子メールを送信するためのコード

String rec[] = { owner.email };
i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(android.content.Intent.EXTRA_EMAIL, rec);
i.putExtra(android.content.Intent.EXTRA_SUBJECT, "RE: " + desc);
i.putExtra(android.content.Intent.EXTRA_TEXT,
        "\n\n\nSent from Mojo for Android");
startActivity(i);

これを起動するとどうなるかのスクリーンショット スクリーンショット

4

10 に答える 10

27

message/rfc822代わりにsetTypeを試してくださいtext/plain

于 2012-04-24T08:35:24.193 に答える
5
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { "abc@xyz.com" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
                    "Subject of the Mail");
emailIntent.putExtra( android.content.Intent.EXTRA_TEXT,
                           "This is my sample Mail");
emailIntent.setType("vnd.android.cursor.dir/email");
startActivity(Intent.createChooser(emailIntent, "Email:"));

それ以外の場合はこれを使用すると、メール クライアントのみが表示されます。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { "abc@xyz.com" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
                    "Subject of the Mail");
emailIntent.putExtra( android.content.Intent.EXTRA_TEXT,
                           "This is my sample Mail");
//emailIntent.setType("vnd.android.cursor.dir/email");
startActivity(Intent.createChooser(emailIntent, "Email:"));
于 2012-04-24T08:35:36.920 に答える
4

setTypeに変更したほうがいいと思います

i.setType("message/rfc822") ;
于 2012-04-24T08:35:35.967 に答える
0

ACTION_SENDtypeを使用している限り、text/plainすべての有効なオプションが表示されます。ただし、必要に応じて、プログラムでフィルタリングを行うことにより、Gmail またはその他のメール クライアントのみを表示する独自のダイアログ ウィンドウを設計することもできます。

ところで、Gmail を使いたいだけなのに、なぜこのウィンドウが必要なのですか?

于 2012-04-24T08:36:07.653 に答える
0
Intent.setType("plain/text");

最初にこれを見つけたとき、これは間違いであり、 であるはずだとすぐに思いましたがtext/plain、これは実際にはアプリケーション リストに電子メール クライアントのみを表示する正しい方法です。

試してみて、自分の目で確かめてください。

于 2012-09-27T13:22:15.407 に答える
0
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("mailto:?to=email&subject=hello&body=hello%20world"));
startActivity(Intent.createChooser(intent, "Send via..."));

あなたはこれを試すことができます:::::

于 2012-04-24T08:39:40.617 に答える
-1
String rec[] = { owner.email };
i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822") ;
i.putExtra(android.content.Intent.EXTRA_EMAIL, rec);
i.putExtra(android.content.Intent.EXTRA_SUBJECT, "RE: " + desc);
i.putExtra(android.content.Intent.EXTRA_TEXT,
        "\n\n\nSent from Mojo for Android");
startActivity(i);

これを試して;:::

于 2012-04-24T08:37:38.933 に答える