我有两个应用:App1
拍摄一张图片并将其分配到一个地址(拍摄照片的地方),另一个应用App2
从{获取图像和文字(地址) {1}}。当用户点击App1
中的按钮时,我必须将此图片和文字传递给App1
。
到目前为止,我可以使用App2
成功将图片发送到App2
。我该如何发送文字和图像?
我已经看过这个Android教程:http://developer.android.com/training/sharing/send.html#send-multiple-content
但它谈到发送多个图像,而不是发送图像和文本。
答案 0 :(得分:1)
您可以尝试制作一个Parcelable对象来保存文本和图像并发送它。 对于Parcelable,请查看http://developer.android.com/reference/android/os/Parcelable.html
MyObject obj = new MyObject();
obj.text = "some text";
obj.image = imageUri;
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putExtras("MyObj", obj);
startActivity(Intent.createChooser(shareIntent, "Share images to.."));
public class MyObject implements Parcelable{
private String image;
private String text;
public void setImage(String _image){
image = _image;
}
public void setText(String _text){
text = _text;
}
public String getImage(){
return image;
}
public String getText(){
return text;
}
public MyObject(Parcel in) {
readFromParcel(in);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(image);
dest.writeString(text);
}
private void readFromParcel(Parcel in) {
image = in.readString();
text = in.readString();
}
public static final Parcelable.Creator CREATOR =
new Parcelable.Creator() {
public MyObject createFromParcel(Parcel in) {
return new MyObject(in);
}
public MyObject[] newArray(int size) {
return new MyObject[size];
}
};
}
答案 1 :(得分:1)
您可以通过为文字添加putExtra来使用您发布的样本:
ArrayList<Uri> imageUris = new ArrayList<Uri>();
imageUris.add(imageUri1); // Add your image URIs here
imageUris.add(imageUri2);
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
shareIntent.setType("image/*");
现在您可以添加:
shareIntent.putExtra("yourkey", "yourtext");
startActivity(Intent.createChooser(shareIntent, "Share images to.."));