我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)
提前致谢.
我想写实现对象的数组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:把当我有基本相同的问题ArrayList的Parcelables转换为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>) …