2

このコードを使用して、インテント経由でメール チューザーを開きます

val mIntent = Intent(
    Intent.ACTION_SENDTO, Uri.fromParts(
        "mailto",
        "name@email.com", null
    )
)
mIntent.putExtra(Intent.EXTRA_SUBJECT, "[Feedback - App Name]")
mIntent.putExtra(Intent.EXTRA_TEXT, "")
try {
    startActivity(Intent.createChooser(mIntent, "Choose Email Client..."))
} catch (e: Exception) {
    (activity as MainActivity).showToast("There are no email clients installed.")
}

期待どおりに動作しますが、メール クライアントのリストに PayPal アプリも含まれています。

メール選択

PayPal をクリックすると、メールが PayPal に登録されている場合、支払いページにリダイレクトされます。登録されていない場合は、以下の画面が表示されます。

ペイパル

どちらのシナリオでも、PayPal アプリからメールを送信するオプションはありません。

では、インテント チューザーにメール クライアントのみを含めるにはどうすればよいでしょうか。

私もこのコードを試しましたが、結果も同じです。

val intent = Intent(Intent.ACTION_SENDTO)
intent.data = Uri.parse("mailto:")
intent.putExtra(Intent.EXTRA_EMAIL, "addresses")
intent.putExtra(Intent.EXTRA_SUBJECT, "subject")
if (intent.resolveActivity(activity?.getPackageManager()!!) != null) {
    startActivity(Intent.createChooser(intent, "Choose Email Client..."))
}

編集 :

同じダイアログが開いている他のアプリをチェックインしました。PayPal アプリがメール イベントをリッスンしている可能性があります。

4

2 に答える 2