введите описание изображения здесь

Код намерения электронной почты полностью запускается в мобильной модели Android, предоставленной студией Android, но когда я запускаю код на моем личном телефоне, он не работает ... пожалуйста, ответьте ??

1
mayar hassan 23 Сен 2021 в 05:07

5 ответов

Лучший ответ

Не забудьте указать тип намерения, чтобы оно запускало почтовые клиенты.

   Intent email = new Intent(Intent.ACTION_SEND);  
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});  
    email.putExtra(Intent.EXTRA_SUBJECT, subject);  
    email.putExtra(Intent.EXTRA_TEXT, message);  
           
    //need this to prompts email client only  
    email.setType("message/rfc822");  
      
    startActivity(Intent.createChooser(email, "Choose an Email client :"));

  
0
Saurabh Dhage 23 Сен 2021 в 04:29

Код Котлина,

val selectorIntent = Intent(Intent.ACTION_SENDTO)
selectorIntent.data = Uri.parse("mailto:")
val emailIntent = Intent(Intent.ACTION_SEND)
emailIntent.putExtra(Intent.EXTRA_EMAIL, arrayOf<String>("mail id"))
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject")
emailIntent.selector = selectorIntent
startActivity(Intent.createChooser(emailIntent, "Send email..."))

Java-код,

Intent selectorIntent = new Intent(Intent.ACTION_SENDTO);
selectorIntent.setData(Uri.parse("mailto:"));
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"mail id"});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
emailIntent.setSelector(selectorIntent);
startActivity(Intent.createChooser(emailIntent, "Send email..."));
0
Muhammed Arshad K 23 Сен 2021 в 02:56
Intent intEmail = new Intent(Intent.ACTION_SENDTO);
intEmail.setType("plain/text");
intEmail.setData(Uri.parse("mailto:"));
intEmail.putExtra(Intent.EXTRA_EMAIL, new String[]{"receiver_email_address"});
            
 if (intEmail.resolveActivity(getPackageManager()) != null){
    startActivity(intEmail);
    }
0
Rudra Rokaya 23 Сен 2021 в 03:22

Я тестировал код mayar hassan, у меня он работал нормально. [на Samsung Android 8.1]

Код:

public class TestSentMail extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test_sent_mail);

        Button button = findViewById(R.id.submitButton);
        button.setOnClickListener(view -> {
            submitOrder();
        });
    }

    private void submitOrder() {
        Intent intent = new Intent(Intent.ACTION_SENDTO);
        intent.setData(Uri.parse("mailto:"));
        intent.putExtra(Intent.EXTRA_SUBJECT, "coffe order for tancolo");
        if (intent.resolveActivity(getPackageManager()) != null) {
            startActivity(intent);
        }
    }
}

Скриншот:

sent email screenshot

Как решить вашу проблему

В общем, я думаю, что мы должны сделать это, как показано ниже.

  1. Проверьте журнал в панели Logcat в Android Studio, возможно, есть исключения.
  2. Добавлен код отладки, куда вы хотите добавить.
0
tancolo 23 Сен 2021 в 04:30
val i = Intent(Intent.ACTION_SEND)
    i.type = "message/rfc822"
    i.putExtra(Intent.EXTRA_EMAIL, arrayOf<String>("sumsolutions.net@gmail.com"))
    i.putExtra(Intent.EXTRA_SUBJECT, "Feedback")
    i.putExtra(Intent.EXTRA_TEXT, "Text here...")
    try {
        startActivity(Intent.createChooser(i, "Send mail..."))
    } catch (ex: ActivityNotFoundException) {
        Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT)
            .show()
    }
0
Yaqoob Bhatti 23 Сен 2021 в 04:33