2

好吧,我试图让我的应用程序发送一封电子邮件,其中在条目文本元素中输入了信息,但是当我在手机中尝试它时,它说“没有应用程序可以执行此操作。这是我的代码。谢谢。

View boton = (Button) findViewById(R.id.enviar);
    boton.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    if (v.getId()==findViewById(R.id.enviar).getId())
    {
        final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
        String mailId= "villasantdesign@gmail.com";
        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{mailId});
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
        emailIntent.putExtra(Intent.EXTRA_TEXT, etlugar.getText()); etfecha.getText(); etcable.getText(); etqe.getText(); etantena.getText(); etampli.getText(); etmodulo.getText();}{
        startActivity(Intent.createChooser(emailIntent, "Envío"));
        }}}
4

5 回答 5

1

我认为您必须在手机上安装电子邮件应用程序,例如 Gmail,或者 Android 找不到任何应用程序来接收该意图。您应该将 Intent.ACTION_SEND 更改为 Intent.ACTION_SENDTO

于 2013-07-27T05:18:24.750 回答
1

您只需要在默认Email应用程序或任何其他电子邮件客户端中配置一个电子邮件帐户Gmail,这样它就可以将用户重定向到该应用程序并让他发送电子邮件。

解决方案:

下面的代码片段工作得很好。

 View boton = (Button) findViewById(R.id.enviar);
    boton.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    if (v.getId()==findViewById(R.id.enviar).getId())
    {


    Intent emailIntent = new Intent(Intent.ACTION_SEND, Uri.fromParts("mailto","villasantdesign@gmail.com", null));
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
    emailIntent.putExtra(Intent.EXTRA_TEXT, etlugar.getText());     
    startActivity(Intent.createChooser(emailIntent, "Envío"));



}}}

我希望它会有所帮助!

于 2013-07-27T05:18:38.097 回答
1

尝试设置 mime 类型:

emailIntent.setType("text/plain");

& 改变android.content.Intent.ACTION_SENDTO而不是Intent.ACTION_SENDTO只获取电子邮件客户端列表,没有 facebook 或其他应用程序。只是电子邮件客户端。

于 2013-07-27T05:34:22.100 回答
1

您需要在您的默认电子邮件应用程序中配置一个电子邮件帐户。

 Intent email = new Intent(Intent.ACTION_SEND);
                    email.setType("plain/text");
                    email.putExtra(Intent.EXTRA_EMAIL,
                            new String[] { abc@gmail.com) });
                    email.putExtra(Intent.EXTRA_SUBJECT, "");
                    email.putExtra(Intent.EXTRA_TEXT,"");
                    startActivity(Intent.createChooser(email,
                            "Choose an Email client :"));
于 2013-07-27T05:56:30.747 回答
0

android.content.Intent.ACTION_SEND意图是邮件发送意图。Intent.createChooser(emailIntent, "Envío")将提示您从已配置的发送应用程序(如 Gmail 应用程序)集合中选择邮件发送应用程序。如果您的设备或模拟器中没有配置邮件,它会回复,就像没有应用程序可以执行此操作一样。

于 2013-07-27T05:29:28.470 回答