【发布时间】:2011-11-02 07:01:36
【问题描述】:
我有一个简单的应用程序,我用它来发送附件。
我已经成功地从 SD 卡发送了一个文本文件(虽然我无法让它与使用 openFileOutput(fileName, 0) 在应用程序私人区域中创建的文件一起使用)但我现在想发送一个数据库。
通过调试,我可以验证数据库是否存在并且在其唯一的表中有一个条目。我要发送的代码如下所示:
gmailButton = (Button) findViewById(R.id.button);
gmailButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "subject line");
sendIntent.putExtra(Intent.EXTRA_TEXT,"Body of email");
Uri uri = Uri.fromFile(getDatabasePath("TEST_DB"));
//uri = file:///data/data/com.gmailspike/databases/TEST_DB
sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
sendIntent.setType("application/octet-stream");
startActivity(Intent.createChooser(sendIntent,"Email:"));
}
})
;
但是,当电子邮件客户端打开附件时,附件的大小为 0 字节,如果我触摸打开附件,客户端会说找不到文件。
有什么想法吗?我不确定 mime 类型是否正确,或者即使它是否重要!
【问题讨论】:
-
查看下面的 SO Answer 以获得关于复制数据库文件、发送电子邮件和删除复制的数据库文件的非常好的示例:stackoverflow.com/questions/18548255/…
标签: android sqlite email-attachments