Intent share = new Intent(Intent.ACTION_SEND);
Uri requestUrl = Uri.parse(url);
String pContent = requestUrl.toString().split("share://")[1];
String pasteData = pContent+"";
share.setAction(Intent.ACTION_SEND);
share.setType("message/rfc822");
share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
//String septline = System.getProperty("line.separator");
//pasteData= pasteData.replaceAll("<br />", "\n");
Toast toast=Toast.makeText(getApplicationContext(),pasteData, Toast.LENGTH_LONG);
toast.setMargin(50,50);
toast.show();
String [] parts = pasteData.split("<br />");
for (String part : parts){
share.putExtra(Intent.EXTRA_TEXT, part);
}
startActivity(Intent.createChooser(share, "Share On"));
我希望for循环应该为每个部分编写share.putextra,但这里putextra只有一次,并且只有最后一部分的值
应该是这样的
share.putExtra(Intent.EXTRA_TEXT, part1);
share.putExtra(Intent.EXTRA_TEXT, part2);
share.putExtra(Intent.EXTRA_TEXT, part3);
最佳答案
You are doing it wrong, In Intent every key is unique, so if you try to put any data with same key, it's gonna be overrided.
因此,在您的代码中,当您运行循环时,Intent 键在循环中是相同的,因此它会被覆盖,并且您只能获得最后一个值。
要解决此问题,请尝试使用不同的键放置数据。
了解更多信息请访问Android developer page .
关于android - putExtra 在 Intent 中使用 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38627877/