1. Email添加自动回复功能需要注意事项
Email可能存在多个账户, 因此自动回复功能应该添加在账户设置里面, 自动回复针对一个账户单独处理在Email账户设置里面, 开启自动回复功能的时, 需要保存设置的时间(时间戳, 是否需要考虑时区等影响), 账户ID, 自动回复的内容(自动回复的内容, 由用户编辑, 内置默认回复), 开启状态自动回复功能的设置数据, 通过Email账户的EmailAddress获取
2. Email自动回复功能注意事项
监听Email数据库中MESSAGE表的数据(邮件)变化判断邮件的mailboxKey的类型是否是INBOX判断邮件的accountKey是否是开启自动回复功能的账户判断邮件的timeStamp是否晚于开启自动回复功能的时间判断该邮件的接收者是否已经自动回复
通过 subject 判断是否有 Re:subject 数据. 如果有则说明已经自动回复, 如果没有则说明没有自动回复.
该种方式不可靠在MESSAGE添加replyMessageId字段, INBOX类型的邮件存储自动回复邮件的ID, 自动回复邮件存储被自动回复邮件的ID.
工作量比较大, 改动较多如果INBOX数据有抄送(cc), 或者暗抄送(bcc), 自动回复数据是否添加?自动回复数据是否携带引用(quote), 如果接收的邮件有附件怎么处理?在删除Email账户的时候需要删除保存的自动回复相关信息
3. Email自动回复功能添加到什么地方?
EmailProvider的insert方法.
方便简单同步数据成功, 执行插入MESSAGE表的位置, 需要监听数据库发生改变.
目前没有找到该位置在什么地方, 牵涉到Android系统的同步机制
4. Email自动回复功能采用什么方式实现?
硬编码到EmailProvider的insert方法处.
不可取在EmailProvider的insert方法处, 采用IntentService
转载于:https://www.cnblogs.com/firmly-believe/p/11548501.html