我知道在尝试从 SD 卡到电子邮件附加文件之前询问了这个问题的一个变体 但是提供的解决方案,即重新启动似乎对我没有用。我已经看到很多支持这是一个问题的小组帖子。我只能假设链接到问题的 OP 进行了一些其他更改,可能是对允许他的代码工作的清单。
我看到的行为是电子邮件意图处理来自 sdcard 的 jpeg 附件,但将其作为 0 长度文件处理,该文件在发送时被丢弃。我已经尝试 setType as jpeg/image 和 image/jpeg 因为我已经看到它以两种方式表达。
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("jpeg/image");
sendIntent.putExtra(Intent.EXTRA_EMAIL, "me@gmail.com");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.email_subjectStart +
mWhatYouSpotted.getSelectedItem().toString() +
R.string.email_subjectEnd);
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ sPhotoFileName));
sendIntent.putExtra(Intent.EXTRA_TEXT, sEmailBody);
startActivity(Intent.createChooser(sendIntent, "Email:"));
这是我上次测试时得到的 adb logcat:
V/DumbDumpersMain(3972):sPhotoUri=file://sdcard/DumbDumpers/DumbDumper.jpg I/ActivityManager(56):开始活动:Intent { action=android.intent.action.CHOOSER comp={android/com.android. internal.app.ChooserActivity}(有额外功能)} I/ActivityManager(56):开始活动:Intent { action=android.intent.action.SEND type=jpeg/image flags=0x3000000 comp={com.google.android.gm /com.google.android.gm.ComposeActivityGmail}(有附加功能)} I/ActivityManager(56):开始活动:Intent { action=android.intent.action.SEND type=jpeg/image flags=0x2800000 comp={com. google.android.gm/com.google.android.gm.ComposeActivity}(有附加功能)} D/gmail-ls(120):MailProvider.query:内容://gmail-ls/labels/me@gmail.com( null, null) D/Gmail (2507): URI FOUND:file://sdcard/DumbDumpers/DumbDumper.jpg
一个多星期以来,我一直在用头撞这个,但仍然无法确定出了什么问题。有任何想法吗?