在android中使用意图共享文本与多个图像

时间:2016-07-10 16:07:48

标签: java android

我可以帮助我,我试图与多个图像共享文本,但我收到此错误密钥android.intent.extra.TEXT期望ArrayList但值是一个java.lang.String。返回了默认值。 这是我的代码 -

    String text = "Share text.";
    Uri pictureUri =  getLocalBitmapUri(shareImg_imvw);
    uriList.clear();
    for(int i=0;i<5;i++)
    {
    uriList.add(pictureUri);
    }
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
    shareIntent.setType("*/*");
    //        shareIntent.putExtra(Intent.EXTRA_TEXT, text);
    // new code
    ArrayList<String> extra_text = new ArrayList<String>();
    extra_text.add(text);
    shareIntent.putStringArrayListExtra(Intent.EXTRA_TEXT, extra_text);
    shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList);
    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    startActivity(Intent.createChooser(shareIntent, getString(R.string.send_intent_title)));

1 个答案:

答案 0 :(得分:5)

首先,ACTION_SENDACTION_SEND_MULTIPLE支持 EXTRA_TEXT EXTRA_STREAM。应用程序不必同时支持两者。不要指望所有应用都使用它们。

其次,ACTION_SEND_MULTIPLE要求EXTRA_TEXT EXTRA_STREAMArrayList个额外内容。将putExtra()替换为putStringArrayListExtra(),并传入您要共享的多个字符串中的ArrayList<String>