Android无法找到电子邮件客户端(没有应用程序可以执行此操作)

时间:2012-07-15 10:16:45

标签: android-intent email-client

我已经阅读了有关上述错误消息的其他帖子,但由于我所描述的那个问题已经在很久以前被标记为答案了,所以我应该更好地在一个单独的帖子中询问 - 如没有解决问题的提示对我有用。 在手机上运行应用程序时会出现此问题。 K9 Mail和Google Mail都已安装和设置。

这是我的代码段:

    final Intent imail = new Intent(Intent.ACTION_SENDTO);
    imail.setType("message/rfc822"); // or: text/plain
    imail.putExtra(Intent.EXTRA_EMAIL  , new String[]{"contact@mydomain.com"});
    imail.putExtra(Intent.EXTRA_SUBJECT, "Feedback");
    imail.putExtra(Intent.EXTRA_TEXT   , emailText);
    try {
        startActivity(Intent.createChooser(imail, "Send mail..."));
    } catch (android.content.ActivityNotFoundException ex) {
        Toast.makeText(Feedback.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
    }

该应用程序在手机上显示“无应用程序可执行此操作”错误。

我还尝试了另一种变体而没有成功:

    String mailId = (String) "contact@mydomain.com"; 
    final Intent imail = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( 
    "mailto",mailId, null)); 
    imail.setType("message/rfc822"); // text/plain
    imail.putExtra(Intent.EXTRA_SUBJECT, "Feedback");
    imail.putExtra(Intent.EXTRA_TEXT, emailText);

    // Check if Intent available
    List<ResolveInfo> list = getPackageManager().queryIntentActivities(
            imail, PackageManager.MATCH_DEFAULT_ONLY);

在这种情况下,尽管如上所述安装了K9 Mail和Google Mail,但List仍会返回Null的大小。我的系统是HTC One V(Android 4)

1 个答案:

答案 0 :(得分:0)

试试这个

 private void enviar(String[] to, String[] cc, String asunto, String mensaje)
{ 
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setData(Uri.parse("mailto:"));
        emailIntent.putExtra(Intent.EXTRA_EMAIL, to);
        emailIntent.putExtra(Intent.EXTRA_CC, cc);
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, asunto);
        emailIntent.putExtra(Intent.EXTRA_TEXT, mensaje);
        emailIntent.setType("message/rfc822");

         startActivity(Intent.createChooser(emailIntent, "Email "));

}

适用于Gmail