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)));
答案 0 :(得分:5)
首先,ACTION_SEND
和ACTION_SEND_MULTIPLE
支持 EXTRA_TEXT
或 EXTRA_STREAM
。应用程序不必同时支持两者。不要指望所有应用都使用它们。
其次,ACTION_SEND_MULTIPLE
要求EXTRA_TEXT
和 EXTRA_STREAM
为ArrayList
个额外内容。将putExtra()
替换为putStringArrayListExtra()
,并传入您要共享的多个字符串中的ArrayList<String>
。