【问题标题】:Android ACTION_SENDAndroid ACTION_SEND
【发布时间】:2013-05-16 13:55:57
【问题描述】:

我想做一个动作,让安卓应用程序可以发送电子邮件,并且电子邮件主题和正文已经填充了来自安卓应用程序的编辑文本。 这是我的代码

Intent ii = new Intent(android.content.Intent.ACTION_SEND);
ii.setType("text/plain");
    EditText txtName = (EditText)findViewById(R.id.txtName);
    EditText txtAddress = (EditText)findViewById(R.id.txtAddress);
    EditText txtLatitude = (EditText)findViewById(R.id.txtLatitude);
    EditText txtLongitude = (EditText)findViewById(R.id.txtLongitude);

ii.putExtra(android.content.Intent.EXTRA_SUBJECT, txtName.getText().toString());
ii.putExtra(android.content.Intent.EXTRA_TEXT, txtAddress.getText().toString());
ii.putExtra(android.content.Intent.EXTRA_TEXT, txtLatitude.getText().toString());
ii.putExtra(android.content.Intent.EXTRA_TEXT, txtLongitude.getText().toString());

startActivity(Intent.createChooser(ii, "Share via"));

主题很好,但正文电子邮件仅填写最后的内容(txtLongitude)。

请告诉我该怎么做。 格拉茨。

【问题讨论】:

    标签: android email android-intent


    【解决方案1】:

    您需要先从 3 个 EditTexts 中创建一个字符串,然后将其设置为额外的。例如:

    String body = txtName.getText().toString() + txtLatitude.getText().toString() + txtLongitude.getText().toString()
    ii.putExtra(android.content.Intent.EXTRA_TEXT, body);
    

    您可能还想添加一些内容,例如换行符来格式化文本。

    【讨论】:

    • 谢谢,它正在工作。是的,就像你想的那样,我想用新线来做。我该怎么做?
    • 您可以在每个文本之后添加一个“\n”字符串。
    【解决方案2】:

    主题很好,但是正文只填写了最后的内容(txtLongitude)。

    那是因为您不断覆盖相同的 EXTRA_TEXT 额外。致电putExtra() 获取EXTRA_TEXT 一次,并附上您要发送的电子邮件的完整正文

    【讨论】:

      猜你喜欢
      • 2013-08-04
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 2017-10-30
      • 2013-01-11
      • 2015-08-29
      • 2011-05-10
      相关资源
      最近更新 更多