在共享意图中传递多个text / plain值

时间:2017-08-22 05:54:48

标签: java android android-intent

我正在android中创建一个记事本应用程序。我已经提供了与其他应用分享个人笔记的功能。 我希望共享功能分享笔记的标题和内容。我似乎无法使其发挥作用。 下面是我的分享意图的java代码。

JAVA

    String title=noteModel.getTitle();
    String content=noteModel.getContent();
    Intent intentShare = new Intent();
    intentShare.setAction(Intent.ACTION_SEND);

    intentShare.putExtra(Intent.EXTRA_TEXT,title);
    intentShare.putExtra(Intent.EXTRA_TEXT,content);            
    intentShare.setType("text/plain");
    context.startActivity(intentShare.createChooser(intentShare,"Send note to"));

4 个答案:

答案 0 :(得分:1)

我找到了一种只用一个EXTRA_TEXT传递多个字符串的方法。 我想传递两个值,即标题和内容,所以我将title的值存储在名为“title”的字符串中,将内容的值存储在名为“content”的字符串中。 现在,诀窍!我将两个字符串连接在一起,并将该连接字符串存储到一个新字符串中,并将该字符串传递给EXTRA_TEXT

我将分享我的正确代码,以便给出清晰的图片。

String title=noteModel.getTitle();
String content=noteModel.getContent();
String titleAndContent="Title: "+title+"\n Content: "+content;

Intent intentShare = new Intent();
intentShare.setAction(Intent.ACTION_SEND);
intentShare.setType("text/plain");
intentShare.putExtra(Intent.EXTRA_TEXT,titleAndContent);

context.startActivity(intentShare);

答案 1 :(得分:0)

您使用相同的键进行两次额外

npm install --app1Dependencies

你必须为你传递的每一个额外使用不同的密钥。将内容更改为类似于以下内容。

    intentShare.putExtra(Intent.EXTRA_TEXT,title);
    intentShare.putExtra(Intent.EXTRA_TEXT,content);   

答案 2 :(得分:0)

intentShare.putExtra(Intent.EXTRA_TEXT,title);
intentShare.putExtra(Intent.EXTRA_TEXT,content); ///ovewriting value

请使用不同的密钥

答案 3 :(得分:0)

试试这个

intentShare.putExtra(android.content.Intent.EXTRA_SUBJECT, title);
intentShare.putExtra(android.content.Intent.EXTRA_TEXT, content);