相关疑难解决方法(0)

如何将多个文件附加到android中的电子邮件客户端

Intent .ACTION_SEND用来获取默认的电子邮件客户端.它工作正常,但现在我需要附加多个文件到电子邮件.

email.putExtra(android.content.Intent.EXTRA_STREAM,...) 只附上最后一个uri添加到它.

那么我可以附加多个文件吗?我认为这可以通过使用来完成Intent.ACTION_SEND_MULTIPLE.这是我正在尝试的代码:

String uri=getScreenShot();

Intent email = new Intent(android.content.Intent.ACTION_SEND);
            email.setType("application/octet-stream");
            email.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri));
            email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file:"+csvpath));
            alert.dismiss();
            ctx.startActivity(Intent.createChooser(email, "Send mail..."));
Run Code Online (Sandbox Code Playgroud)

提前致谢.

android android-intent

28
推荐指数
2
解决办法
2万
查看次数

在Android中将Parcelables数组写入Parcel

我想写实现对象的数组Parcelable地块使用 writeParcelableArray.

我正在尝试编写的对象(正如您所期望的那样)被定义为:

public class Arrival implements Parcelable {
    /* All the right stuff in here... this class compiles and acts fine. */
}
Run Code Online (Sandbox Code Playgroud)

而我正试图将它们写成一个"包裹":

@Override
public void writeToParcel(Parcel dest, int flags) {
    Arrival[] a;
    /* some stuff to populate "a" */
    dest.writeParcelableArray(a, 0);
}
Run Code Online (Sandbox Code Playgroud)

当Eclipse尝试编译时,我收到错误:

绑定不匹配:Parcel类型的泛型方法writeParcelableArray(T [],int)不适用于参数(Arrival [],int).推断类型Arrival不是有界参数<T extends Parcelable>的有效替代

我完全不明白这个错误信息.Parcelable是一个接口(不是类)所以你不能扩展它.有人有主意吗?

UPDATE:把当我有基本相同的问题ArrayListParcelables转换为Intent:

Intent i = new Intent();
i.putParcelableArrayListExtra("locations", (ArrayList<Location>) locations);
Run Code Online (Sandbox Code Playgroud)

收益率:

方法putParcelableArrayListExtra(String,ArrayList <?extends Parcelable>)方法不适用于参数(String,ArrayList <Location>) …

java android parcel parcelable

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

android-intent ×1

java ×1

parcel ×1

parcelable ×1