如何通过共享按钮共享“EditText”或“Textbox”中的文本

时间:2013-03-16 12:58:00

标签: android

我的应用中有一个文本框(EditText)&一个按钮,我想要做的是,当任何人点击按钮时,文本框(EditText)中写的文本被复制&此文本可以共享到任何应用程序,如 - 消息,Gmail,Ymail等。 现在我正在做的是从“EditText”获取文本&将它存储到一个新变量(字符串)中说'a'和&现在应用意图“ACTION_SEND_MULTIPLE”

这是Intent的代码

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {"example@gmail.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "a");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, a);
startActivity(Intent.createChooser(emailIntent, "Share it via..."));

2 个答案:

答案 0 :(得分:0)

我不确定您的问题是什么,但这是您从editText

获取文本的方式
String mString= et.getText().toString();

然后将其放入共享意图

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, mString);
shareIntent.setType("text/plain");
startActivity(shareIntent);

如果您只想将其作为电子邮件发送,并且只允许电子邮件客户端回复意图,则会发生类似这样的事情。

Intent send = new Intent(Intent.ACTION_SENDTO);
String uriText = "mailto:" + Uri.encode("mail to address") 
   + "?subject=" + Uri.encode("subject here") 
   + "&body=" + Uri.encode("body here");
Uri uri = Uri.parse(uriText);
send.setData(uri);
startActivity(Intent.createChooser(send, "Send..."));   

这允许您输入主题字段& mailto field ... etc

答案 1 :(得分:0)

你需要“createChooser”:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, edittext.getText().toString());
startActivity(Intent.createChooser(intent, "chooser title"));