android – 发现电子邮件时没有找到处理Intent的Activity

我试图通过电子邮件发送通过我的应用程序点击的图片作为附件.单击图片并且我正确地获取路径但是应用程序抛出了运行时异常..“没有找到处理Intent的活动”.我正在我的设备上测试这个,我配置了我的Gmail帐户.我不知道如何解决这个问题.请帮忙.

这是我的代码

public static void sendEmail(Context context,String[] recipientList,String title,String subject,String body) {

Intent intent = new Intent(Intent.ACTION_SENDTO,Uri.parse("mailto:someone@example.com"));
        intent.setType("plain/text");
        intent.putExtra(android.content.Intent.EXTRA_EMAIL,recipientList);
        intent.putExtra(android.content.Intent.EXTRA_SUBJECT,subject);
        intent.putExtra(android.content.Intent.EXTRA_TEXT,body);
        intent.putExtra(Intent.EXTRA_STREAM,capturedImageFilePath);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);

}

这是日志:

01-15 11:26:04.455: E/AndroidRuntime(9904): FATAL EXCEPTION: main
01-15 11:26:04.455: E/AndroidRuntime(9904): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SENDTO typ=plain/text flg=0x10000000 (has extras) }
01-15 11:26:04.455: E/AndroidRuntime(9904):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512)
01-15 11:26:04.455: E/AndroidRuntime(9904):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
01-15 11:26:04.455: E/AndroidRuntime(9904):     at android.app.ContextImpl.startActivity(ContextImpl.java:852)
01-15 11:26:04.455: E/AndroidRuntime(9904):     at android.content.Contextwrapper.startActivity(Contextwrapper.java:276)
01-15 11:26:04.455: E/AndroidRuntime(9904):     at com.example.attachmail.AttchmentActivity.sendEmail(AttchmentActivity.java:133)
01-15 11:26:04.455: E/AndroidRuntime(9904):     at com.example.attachmail.AttchmentActivity$2.onClick(AttchmentActivity.java:93)

解决方法

我有一个更相似的问题,我已经传递了一个函数的参数,该函数发送带有意图的电子邮件.
但是我注意到我需要使用行intent.setData(Uri uri),如果email参数只是电子邮件,那么它需要使用“mailto:”文本
例:
intent.setData(Uri.parse("mailto:"+email));

像这儿:

Intent intent = new Intent(Intent.ACTION_SENDTO);
                    intent.setType("message/rfc822");
                    intent.putExtra(Intent.EXTRA_EMAIL,email);
                    intent.setData(Uri.parse("mailto:"+email));
                    intent.putExtra(Intent.EXTRA_SUBJECT,emailSubject);
                    intent.putExtra(Intent.EXTRA_TEXT,emailContent);
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent.addFlags(Intent.FLAG_FROM_BACKGROUND);
                try {

                    startActivity(intent);
                } catch (android.content.ActivityNotFoundException e) {
                    // Todo Auto-generated catch block
                    e.printstacktrace();
                    Log.d("Email error:",e.toString());
                }

如果您在模拟器上进行测试,可能会出现“共享”未配置的应用程序的问题,因此要么确保在模拟器上进行设置,要么在实际设备上进行测试.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...