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

Sub*_*bho 3 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)));
Run Code Online (Sandbox Code Playgroud)

Com*_*are 5

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

其次,ACTION_SEND_MULTIPLE需要EXTRA_TEXT 并且 EXTRA_STREAMArrayList额外的.替换putExtra()putStringArrayListExtra(),传入ArrayList<String>要共享的多个字符串中的一个.