2024年3月30日土曜日

Gmail が Intent.selector に反応しない場合がある

手元の Pixel 8 では発生しないのだが、ユーザーさんの moto g13 (motorola penangf)(Android 13(SDK 33)) では、 val intent = Intent(Intent.ACTION_SEND) .putExtra(Intent.EXTRA_EMAIL, arrayOf(address)) .putExtra(Intent.EXTRA_SUBJECT, subject) .putExtra(Intent.EXTRA_TEXT, text) .apply { selector = Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:")) } startActivity(intent) この Intent は ActivityNotFoundException になってしまう。

selector を使わない次の方法なら ActivityNotFoundException にならない。 val intent = Intent(Intent.ACTION_SENDTO) .setData(Uri.parse("mailto:")) .putExtra(Intent.EXTRA_EMAIL, arrayOf(address)) .putExtra(Intent.EXTRA_SUBJECT, subject) .putExtra(Intent.EXTRA_TEXT, text) startActivity(intent)

0 件のコメント:

コメントを投稿