2024年3月30日土曜日

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

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

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


0 件のコメント:

コメントを投稿