課題
これまで以下のような感じでメールを送信していたが、いつ頃からか'EXTRA_SUBJECT', 'EXTRA_TEXT'がGmailにセットされなくなった。
/** * メール送信用Intentを生成する */ fun getMailIntent(mailTo: String, subject: String, body: String): Intent { val intent = Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:$mailTo")) intent.putExtra(Intent.EXTRA_SUBJECT, subject) intent.putExtra(Intent.EXTRA_TEXT, body) return intent }
対応
Gmailのどこかのアップデートで EXTRA_EMAIL
が必要になった模様。
ついでに公式サイトを参考にmailto:の記述もリファクタする。
applyはまだ使い慣れてないけどすっきり書けて良いね。
/** * メール送信用Intentを生成する */ fun getMailIntent(mailTo: String, subject: String, body: String): Intent { return Intent(Intent.ACTION_SENDTO) .apply { data = Uri.parse("mailto:") putExtra(Intent.EXTRA_EMAIL, arrayOf(mailTo)) putExtra(Intent.EXTRA_SUBJECT, subject) putExtra(Intent.EXTRA_TEXT, body) } }
なんとなくGmail以外のメーラーが起動しないような気がする...。