android - 在电子邮件 : android. 中发送多个附件 intent.extra.STREAM 预期 Parcelable

标签 android email android-intent attachment

<分区>

Possible Duplicate:
how to attach multiple files to email client in android.

你好,

我无法发送包含多个附件的电子邮件。

这是我从网络和教程中找到的代码:

String[] mArray = getResources().getStringArray(R.array.pdf_entries);               
int i = 0;
Intent theIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
theIntent.setType("application/pdf");

ArrayList<Uri> uris = new ArrayList<Uri>();

for (String file : mArray) {
    if (booleans[i]) {
        File fileIn = new File("/sdcard/mydir/"+file+".pdf");
        Uri u = Uri.fromFile(fileIn);
        Log.i("","** add: "+u);
        uris.add(u);
    }
    i++;
}
theIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Intent.createChooser(theIntent,"Select email application."));

但我总是得到这个错误:

04-19 20:25:03.340: WARN/Bundle(5826): Key android.intent.extra.STREAM expected Parcelable but value was a java.util.ArrayList.  The default value <null> was returned.
04-19 20:25:03.356: WARN/Bundle(5826): Attempt to cast generated internal exception:
04-19 20:25:03.356: WARN/Bundle(5826): java.lang.ClassCastException: java.util.ArrayList
04-19 20:25:03.356: WARN/Bundle(5826):     at android.os.Bundle.getParcelable(Bundle.java:1106)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.content.Intent.getParcelableExtra(Intent.java:3396)
04-19 20:25:03.356: WARN/Bundle(5826):     at com.android.email.activity.MessageCompose.initFromIntent(MessageCompose.java:1306)
04-19 20:25:03.356: WARN/Bundle(5826):     at com.android.email.activity.MessageCompose.onCreate(MessageCompose.java:334)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.os.Looper.loop(Looper.java:123)
04-19 20:25:03.356: WARN/Bundle(5826):     at android.app.ActivityThread.main(ActivityThread.java:4627)
04-19 20:25:03.356: WARN/Bundle(5826):     at java.lang.reflect.Method.invokeNative(Native Method)
04-19 20:25:03.356: WARN/Bundle(5826):     at java.lang.reflect.Method.invoke(Method.java:521)
04-19 20:25:03.356: WARN/Bundle(5826):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-19 20:25:03.356: WARN/Bundle(5826):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-19 20:25:03.356: WARN/Bundle(5826):     at dalvik.system.NativeStart.main(Native Method)
04-19 20:25:03.403: INFO/SurfaceFlinger(1305): 

非常感谢任何建议/教程。

最佳答案

how to attach multiple files to email client in android

编辑(指出差异在哪里):

Intent.ACTION_SEND != Intent.ACTION_SEND_MULTIPLE

关于android - 在电子邮件 : android. 中发送多个附件 intent.extra.STREAM 预期 Parcelable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5722337/

相关文章:

android - 如何在 android 视频 View 中播放位于某个 URL 位置的视频?

android设置定时器按钮的可见性

ruby-on-rails - 如何生成取消订阅电子邮件的链接

Android - 第二次调用 onCreate() 后 Bundle 不为空

java - 设置结果不工作

android - 设置 View 的绝对位置

android 录音机启动无效状态 4

php电子邮件在mysql数组后插入中断

android - 发送包含 HTML 内容的电子邮件

android - 如何让应用程序的广播接收器在后台不运行服务的情况下继续收听