如何将 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...