0

我有两个应用程序:App1它获取图像并将其分配给地址(拍摄照片的位置),另一个应用程序App2App1. 当用户单击 中的按钮时App1,我必须将此图像和文本传递给App2.

到目前为止,我能够成功地将图像发送到App2使用ACTION_SEND. 我该如何将文本与图像一起发送?

我已经看过这个 android 教程:http: //developer.android.com/training/sharing/send.html#send-multiple-content

但它谈到发送多个图像,而不是发送图像和文本。

4

2 回答 2

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];
            }
        };

}
于 2013-01-25T15:16:59.133 回答
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.."));
于 2013-01-25T15:20:58.447 回答