2013-07-27 45 views
2

那么,即时尝试使我的应用程序发送电子邮件与输入文本元素中输入信息,但是当我在手机中尝试它时,它说:“没有应用程序可以执行此操作,这是我的代码,谢谢电子邮件intent android?

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= "[email protected]"; 
     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")); 
     }}} 

回答

1

你只需要在您的默认Email应用程序或任何其他电子邮件客户端(如)中配置电子邮件帐户,以便它可以将用户重定向到该应用程序并让他发送电子邮件。

解决方案:

以下代码段工作绝对没问题。

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","[email protected]", null)); 
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica"); 
    emailIntent.putExtra(Intent.EXTRA_TEXT, etlugar.getText());  
    startActivity(Intent.createChooser(emailIntent, "Envío")); 



}}} 

我希望它会有帮助!

+0

我已经有我的帐户,我配置了另一个帐户,它一直给我发送信息。 – Miguel

+0

我已经尝试了所有的解决方案,但仍然不工作:( – Miguel

+0

如果错误是关于'没有应用程序可以执行此操作',很可能您缺少电子邮件帐户的配置。由于此代码适用于所有版本的Android 。 –

1

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

+0

我已经有我的账户了,我配置了另外一个,它一直给我发送信息。 – Miguel

+0

您是否尝试将Intent.ACTION_SEND更改为Intent.ACTION_SENDTO? – JaredLuo

0

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

1

尝试建立mime类型:

emailIntent.setType( “text/plain的”);

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

+0

我已经尝试了所有的解决方案,仍然不能工作:( – Miguel

1

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

Intent email = new Intent(Intent.ACTION_SEND); 
        email.setType("plain/text"); 
        email.putExtra(Intent.EXTRA_EMAIL, 
          new String[] { [email protected]) }); 
        email.putExtra(Intent.EXTRA_SUBJECT, ""); 
        email.putExtra(Intent.EXTRA_TEXT,""); 
        startActivity(Intent.createChooser(email, 
          "Choose an Email client :")); 
相关问题