ここや他の場所で、電子メールを送信するためのインテントの作成に関するさまざまなトピックを見つけましたが、それはかなり簡単なようです。ユーザーが持っている可能性のある電子メールクライアントを起動するだけの意図を探しています。
電子メールを送信するために私が見たコードは次のとおりです(参照用に投稿されたもので、新しいメッセージを送信したくないので、これは私のニーズに応えません):
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Subject of the message");
i.putExtra(Intent.EXTRA_TEXT , "Body of the message");
パッケージ名でGmailクライアントを具体的に起動するためにまとめたコードは次のとおりです。
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.google.android.gm");
startActivity(intent);
上記のコードは機能しますが、ユーザーが Gmail ではなく他の組み込みの電子メール アプリケーションまたはサード パーティの電子メール アプリケーションを使用している可能性があるという点で柔軟性がありません。この場合、ユーザーが電子メールを読むために起動するアプリを決定できるように、セレクターを表示するインテントを探しています。
これを達成する方法を知っている人はいますか?