2

我已经阅读了有关上述错误消息的其他帖子,但是由于我描述我仍然存在的问题的帖子已经在很久以前被标记为答案,但我最好在单独的线程中询问 - 因为没有解决问题的技巧对我有用。在手机上运行应用程序时出现问题。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);

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

4

1 回答 1

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

于 2013-09-11T10:00:28.817 回答