0

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

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)。

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

4

2 回答 2

1

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

那是因为您一直在覆盖相同EXTRA_TEXT的额外内容。调用putExtra()一次EXTRA_TEXT 包含您要发送的电子邮件的完整正文。

于 2013-05-16T13:59:44.200 回答
1

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

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

您可能还想添加一些东西,比如换行符来格式化文本。

于 2013-05-16T14:01:39.053 回答