我想做一个Android应用程序可以发送电子邮件的动作,并且电子邮件主题和正文已经从android应用程序填充了edittext。 这是我的代码
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)。
请告诉我该怎么做。 格拉茨。答案 0 :(得分:1)
主题很好,但是正文电子邮件只填充了最后一个内容(txtLongitude)。
这是因为你继续覆盖相同的EXTRA_TEXT
额外费用。使用您要发送的电子邮件的完整正文,为putExtra()
拨打EXTRA_TEXT
一次。
答案 1 :(得分:1)
您需要先从3个EditTexts中创建一个字符串,然后将其设置为额外的字符串。例如:
String body = txtName.getText().toString() + txtLatitude.getText().toString() + txtLongitude.getText().toString()
ii.putExtra(android.content.Intent.EXTRA_TEXT, body);
您可能还想添加一些内容,例如换行符来格式化文本。