K-9 Mail获取附件索引ID的解决方案
2020-02-05 本文已影响0人
nickieeee
以前的处理方法:
优先通过X-Android-Attachment-StoreData获取,取不到再通过自己计算的索引id
原因:
通过X-Android-Attachment-StoreData获取 ,但是要兼容以前老版本,所以自己计算的逻辑保留。
X-Android-Attachment-StoreData有时候取不到,是因为加载完inline的数据后,会执行一遍LocalStore的appendMessage方法,先删除以前的附件,再重新生成一个新的附件,X-Android-Attachment-StoreData 在存数据库时会被重置。
目前的解决方案:
加载inline的数据时,先取出来原附件带的X-Android-Attachment-StoreData值,存到map集合里,当新附件入库时从map集合里取出来对应的数据填充,map的key用索引,message里的附件索引不会改变。