Android:分享列表?
Posted
技术标签:
【中文标题】Android:分享列表?【英文标题】:Android: Share list? 【发布时间】:2017-12-27 06:49:50 【问题描述】:我已经创建了一个笔记列表(字符串数组)并且应该共享这个列表。 我的代码:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);
列表是否有 MIME 类型?这可能吗? (setType) 例如 setType("text/array") 或类似的东西。找了好久,一无所获。
感谢您的帮助。
【问题讨论】:
你可以放一个数组作为额外的。 @MuratK。所有接收应用程序可能不处理数组元素 @Thomi 我可以知道您打算将笔记列表共享给哪个应用程序吗? 【参考方案1】:如果只是String Array
,就用这个方法
public Intent putExtra(String name, String[] value)
if (mExtras == null)
mExtras = new Bundle();
mExtras.putStringArray(name, value);
return this;
这已经为Intent
类定义。
发送者类:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
String[] strArr = new String[]"abc","def";
sendIntent.putExtra(Intent.EXTRA_TEXT, strArr);
sendIntent.setType("text/plain");
startActivity(sendIntent);
接收器类:
String[] results = getIntent().getExtras().getStringArray(Intent.EXTRA_TEXT);
【讨论】:
【参考方案2】:见What's App multiline text share intent。
val list: ArrayList<String> = arrayListOf("aaa", "bbb") // Some multilined text here.
val joinedText = list.joinToString("\n")
val sendIntent = Intent().apply
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, joinedText)
type = "text/plain"
val shareIntent = Intent.createChooser(sendIntent, null)
startActivity(shareIntent)
【讨论】:
以上是关于Android:分享列表?的主要内容,如果未能解决你的问题,请参考以下文章