如何解决如何将 Listview 项目作为附件发送到电子邮件,最好是 csv (android studio java)?
如何将 Listview 项目作为附件发送到电子邮件,最好是 csv?下面是 Listview 项目的示例,我想通过电子邮件将其作为附件发送:
public class MainActivity extends AppCompatActivity {
ListView listView;
// Define string array.
String[] listValue = new String[] {"ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT"};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2,android.R.id.text1,listValue);
listView.setAdapter(adapter);
}
}
我已经检查了一些相关的 SO 评论。 this code 是导出到 SDCard。我希望直接发送它们而不将它们存储到 SDCard。 This comment 展示了如何将它们作为消息正文的一部分发送。我的目的是将它们作为直接附件发送。如果您能帮助我实现这一点,或指导我找到一些有用的链接或教程来实现这一点,我将不胜感激。
编辑(添加我试图访问数据的代码(将 Listview 项目保存为 CSV)并附加它们:
按钮点击:
File directory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
String file = "/Data.CSV";
Uri uri = Uri.parse(directory+ file);
sendMail(getContext(),mailID,mailSubject,null,uri);
public void sendMail(Context context,String mailID,String subject,File attachment,Uri uri) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Intent.EXTRA_EMAIL,mailID);
// Need to grant this permission
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
// Attachment
intent.setType("vnd.android.cursor.dir/email");
if (attachment != null)
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(attachment));
else if (uri != null)
intent.putExtra(Intent.EXTRA_STREAM,uri);
}
此功能无效
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。