1. Email添加自动回复功能需要注意事项

  1. Email可能存在多个账户, 因此自动回复功能应该添加在账户设置里面, 自动回复针对一个账户单独处理
  2. 在Email账户设置里面, 开启自动回复功能的时, 需要保存设置的时间(时间戳, 是否需要考虑时区等影响), 账户ID, 自动回复的内容(自动回复的内容, 由用户编辑, 内置默认回复), 开启状态
  3. 自动回复功能的设置数据, 通过Email账户的EmailAddress获取

2. Email自动回复功能注意事项

  1. 监听Email数据库中MESSAGE表的数据(邮件)变化
  2. 判断邮件的mailboxKey的类型是否是INBOX
  3. 判断邮件的accountKey是否是开启自动回复功能的账户
  4. 判断邮件的timeStamp是否晚于开启自动回复功能的时间
  5. 判断该邮件的接收者是否已经自动回复
    1. 通过 subject 判断是否有 Re:subject 数据. 如果有则说明已经自动回复, 如果没有则说明没有自动回复. 该种方式不可靠
    2. 在MESSAGE添加replyMessageId字段, INBOX类型的邮件存储自动回复邮件的ID, 自动回复邮件存储被自动回复邮件的ID. 工作量比较大, 改动较多
  6. 如果INBOX数据有抄送(cc), 或者暗抄送(bcc), 自动回复数据是否添加?
  7. 自动回复数据是否携带引用(quote), 如果接收的邮件有附件怎么处理?
  8. 在删除Email账户的时候需要删除保存的自动回复相关信息

3. Email自动回复功能添加到什么地方?

  1. EmailProvider的insert方法. 方便简单
  2. 同步数据成功, 执行插入MESSAGE表的位置, 需要监听数据库发生改变. 目前没有找到该位置在什么地方, 牵涉到Android系统的同步机制

4. Email自动回复功能采用什么方式实现?

  1. 硬编码到EmailProvider的insert方法处. 不可取
  2. 在EmailProvider的insert方法处, 采用IntentService

Android系统修改之Email自动回复功能分析的更多相关文章

  1. Android系统修改硬件设备访问权限

    Android系统修改硬件设备访问权限 在硬件抽象层模块文件(so)文件中,提供的函数调用open函数来打开设备文件,比如/dev/gpio,如果不修改设备文件/dev/gpio的访问权限,那么应用程 ...

  2. Android系统修改之Notification布局修改(一)

    源码基于Android4.4 相关布局文件的位置: frameworks/base/core/res目录下: 1. notification_template_base.xml 2. notifica ...

  3. Android系统修改之展讯平台的Mms不能发送西班牙特殊字符ú的问题

    在测试中, 发现在发送短信的时候特殊字符ú不能发送, 但是输入框可以输入并正常显示, 查看代码之后, 发现是展讯在字符转换的时候出现的问题 frameworks/base/telephony/java ...

  4. Android系统修改之葡萄牙沃达丰One Net服务问题处理

    客户反馈的葡萄牙沃达丰的OneNet服务问题 Vodafone Portugal have a service (One Net) for enterprise customers that used ...

  5. 修改Android系统属性SystemProperties.set("sys.powerctl", "shutdown")关机分析

    简介: 从之前的博文中我们提到过,关机流程中最后是通过修改Android属性进行关机操作(SystemProperties.java通过JNI调用访问系统属性),当然我们也可以通过adb命令修改And ...

  6. 修改Android系统字号(二)

    /*********************************************************************** * 修改Android系统字号(二) * 说明: * ...

  7. 修改Android系统字号(一)

    /*********************************************************************** * 修改Android系统字号(一) * 说明: * ...

  8. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)

    第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...

  9. 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制(瘋耔修改篇一)

    首先非常感谢原文作者为我们提供的知识库,因为有你们的贡献,我们的开发难度更显简单 原文 :   http://blog.csdn.net/mr_raptor/article/details/30113 ...

随机推荐

  1. koa2+vue实现登陆以及是否登陆控制

    这里我们先说说登陆以及登陆状态控制需要的插件jsonwebtoken,jsonwebtoken就可以实现token的生成与反向解密出用户数据.安装步骤: npm install jsonwebtoke ...

  2. yaml文件解析详解

    前言 yaml文件是什么?yaml文件其实也是一种配置文件类型,相比较ini,conf配置文件来说,更加的简洁,操作也更加简单,同时可以存放不同类型的数据,不会改变原有数据类型,所有的数据类型在读取时 ...

  3. Python入门基础(10)_异常_1

    最近有点忙,到现在快一个月没写了,罪过罪过,继续学习 异常:python程序在运行时,如果python解释器遇到一个错误,那么程序就会停止执行,并且会提示一些错误信息,这就是异常. 抛出异常:程序停止 ...

  4. notepad 写html乱码,已解决

    写一些简单基础的html文件时,突然发现新建的demo2,在浏览器打开乱码,而昨天的demo1打开没乱码,真奇怪,开始排查原因. 1.检查代码,,设了charset=UTF-8,看不出毛病. 2.索性 ...

  5. JavaScript的垃圾回收机制与内存泄漏

    常用的两种算法: 引用计数(新版浏览器已弃用,弃用原因:会出现循环引用的情况,无法进行垃圾回收,导致内存泄漏) 标记清除 引用计数法 引用计数,顾名思义一个对象是否有指向它的引用,即看栈中是否有指向要 ...

  6. 《白帽子讲web安全》——吴瀚清 阅读笔记

    浏览器安全 同源策略:浏览器的同源策略限制了不同来源的“document”或脚本,对当前的“document”读取或设置某些属性.是浏览器安全的基础,即限制不同域的网址脚本交互     <scr ...

  7. SpringBoot 异步输出 Logback 日志

    一.介绍 1.1 Logback Logback是由log4j创始人设计的另一个开源日志组件,它分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它 ...

  8. fiddler抓HTTPS及APP请求的配置教程

    一.fiddler安装 Fiddler官网下载Fiddler进行安装:https://www.telerik.com/fiddler 二.fiddler设置抓取HTTPS的请求 fiddler默认设置 ...

  9. count(*) count(1) count(column)的区别

    count(1)中的1并不是指第一个column: count(*)和count(1)一样,包括对值为NULL的统计: count(column)不包括对值为NULL的统计,这里的column指的不是 ...

  10. 2013-2014 ACM-ICPC Pacific Northwest Regional Contest B.Bones’s Battery

    题意略. 思路: 这个题目求的是第一个可行解,由此想到用二分试探的方式来解决. 现在讲讲怎么验证该解是否合理: 先用floyd求出两两之间的最短距离. dp[ i ][ j ]表示,i 到 j 至少要 ...