实现一个动作,让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值相同,会覆盖前面的内容。
标题没问题了 这个问题是:是不是本身值就没有,或者是方式不对