Android调用系统邮件发送附件 文件大小0B
2017-09-26 22:52
232 查看
最近公司App用户反馈出现某些操作会导致数据和界面异常,在友盟上没有发现错误日志,后台也没有做传送日志的功能,坑,没有办法定位。。
想起可以开发一个给用户发送日志的功能,让用户把异常日志采用邮件的形式发送过来,算是临时方案吧。问题来了,在Android7.0调用系统邮件API(首先手机上要设置好相应邮箱的账户和密码,会有提示如何设置)时,将日志文件作为附件传递过去,在邮箱发送界面的附件文件大小为0B,检查文件是正常存在的,并且通过手动方式选择的附件文件都是正常的。
分析原因
调用系统邮件API的问题
检查代码,调用邮件的API很简单,已经设置类型为文件流形式,排除。
访问权限问题,文件存放路径无法访问,导致无法获取文件流
log日志文件存放目录为cache,需要兼容7.0的私有权限问题(不兼容会抛出exposed beyond app through ClipData.Item.getUri()异常,并且文件大小为0B)
7.0之前使用Uri.fromfIle(file)正常访问,文件正常
7.0之后需要通过FileProvider并且在path下设置cache-path权限进行访问,文件大小为0B
更换文件存储路径为外部存储,需要兼容7.0的私有权限问题(不兼容会抛出exposed beyond app through ClipData.Item.getUri()异常,并且文件正常显示)
7.0之前使用Uri.fromfIle(file)正常访问,文件正常
7.0之后需要通过FileProvider并且在path下设置external-files-path权限进行访问,文件大小为0B
系统邮件客户端的问题
更换QQ邮箱客户端后正常
无论文件是存放在cache下面还是外部存储目录下文件都显示正常
相关文章推荐
- Android 调用系统Email发送带多附件的邮件
- android 调用系统邮件 发送邮件到指定邮箱
- 调用android系统邮件发送邮件
- Android 调用系统的邮箱app发送邮件
- Android开发中怎样调用系统Email发送邮件(多种调用方式)
- 调用系统默认邮件程序发送邮件(支持Foxmail带附件但有些问题)
- Android开发中怎样调用系统Email发送邮件(多种调用方式)
- android中调用系统的发送短信、发送邮件、打电话功能
- 在Android开发中怎样调用系统Email发送邮件
- Android抓取系统日志,然后作为文本附件发送邮件
- android调用系统邮件发送图片文本
- Unity3D-调用Android系统邮件发送邮件,或调用系统分享去分享内容
- Android之调用系统Email发送邮件
- Android 调用系统邮件,发送邮件到指定邮箱
- Android调用系统EMAIL发送邮件崩溃,android.content.ActivityNotFoundException
- Android开发中怎样调用系统Email发送邮件(多种调用方式)
- Android 调用系统邮件程序发送邮件
- Android调用系统Email发送邮件
- Android开发中怎样调用系统Email发送邮件(多种调用方式)