在Android中将Sqlite数据库作为电子邮件附件发送
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Android中将Sqlite数据库作为电子邮件附件发送,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1401字,纯文字阅读大概需要3分钟。
内容图文
![在Android中将Sqlite数据库作为电子邮件附件发送](/upload/InfoBanner/zyjiaocheng/892/4afabae7ee5f4fe483cc742ac9d05f7e.jpg)
我有一个简单的应用程序,我用它来发送附件.
我已经设法从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类型是否正确,或者即使它很重要!
解决方法:
我记得在尝试发送带有图片附件的电子邮件时,遇到了类似这样的问题,链接到存储在apps私有数据文件夹中的文件.附件刚刚丢失.
使用邮件意图打开一个新的应用程序来处理邮件创建.因此,您需要编写Content Provider以允许其他应用程序访问您的私人数据.
或者首先将内容复制到公共区域并从那里将其添加到邮件意图中(这仅适用于大多数手机都有SD卡的情况).在这种情况下可以使用External Storage.getExternalStorageDirectory().
希望这有助于找到解决方案.
内容总结
以上是互联网集市为您收集整理的在Android中将Sqlite数据库作为电子邮件附件发送全部内容,希望文章能够帮你解决在Android中将Sqlite数据库作为电子邮件附件发送所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。