Android ACTION_SEND

实现一个动作,让Android应用可以发送一个Email,标题和内容都是从Android应用中填充的。

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)

请指教。

为什么需要写3个呢? 为什么不写一个StringBuild sb = new StringBuild();
sb .append(text1).append(text2).append(text3).如果需要换行和颜色值就得加上Html标签

上一个被后面一个的覆盖了,只留下最后一个,像前面的回答直接拼成一个string不行吗,要不就三个前缀不重复。

但是内容部分只充填了最后一行内容(txtLongitude)导致的原因是:ii.putExtra(android.content.Intent.EXTRA_TEXT, txtAddress.getText().toString());
Intent是用map实现的,put的时候key值相同,会覆盖前面的内容。

标题没问题了 这个问题是:是不是本身值就没有,或者是方式不对