1. ホーム
  2. android

インテントで電子メールソフトを開く方法(ただし電子メールソフトのみ)

2023-07-25 07:47:20

質問

私のアプリケーションの一部で、ユーザーが他のユーザーに簡単にメールを送ることができるように設定したいのです。 これを設定するのはそれほど難しいことではありません。

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, message);
Intent mailer = Intent.createChooser(intent, null);
startActivity(mailer);

たとえば、私の携帯電話では、Facebook アプリ、Twitter、reddit が楽しくて、Bluetooth もこのメッセージを送信するための有効な代替手段として表示されます。 メッセージは、これらのうちのいくつか (特に Twitter) にとってはまったくもって長すぎるのです。

長いメッセージ (電子メールなど) をサポートするアプリケーションだけに選択者を制限する方法はありますか? あるいは、ユーザーが選択したアプリを検知して、メッセージを適切に調整する方法はありますか?

どのように解決するのですか?

MIME タイプを変更することで解決します。これは、同じ動作を変更するために私のアプリで行ったことです。私は intent.setType("message/rfc822");