1手动下载流程
附件下载分为两种,一种是用户点击保存附件称为手动下载,一种是用户选择WIFI下自动下载附件称为自动下载。只有IMAP邮箱和Exchange邮箱支持自动下载。首先介绍手动下载附件的流程。
1.1 Attachment Table中关键字段介绍
介绍在下载附件时用到的几个关键字段。
字段 |
取值 |
作用 |
flags |
FLAG_DOWNLOAD_USER_REQUEST=1<<1 |
当flag取值为FLAG_DOWNLOAD_USER_REQUEST时表示用户请求下载该附件。而且FLAG_DOWNLOAD_USER_REQUEST的下载优先级最高。关于下载优先级下文具体介绍。 |
flags |
FLAG_DOWNLOAD_FORWARD =1<<2 |
当flag取值为FLAG_DOWNLOAD_FORWARD时表示该附件需要被下载下来和邮件内容一起发送出去。当发送的邮件包含未下载的附件时会设置该值 |
uiSate |
NOT_SAVED=0 |
命令标记,表示取消下载操作。当附件还没有开始下载时可以取消下载。 |
uiSate |
FAILED=1 |
状态标记,表示附件下载失败。 |
uiSate |
DOWNLOADING = 2
|
既可以作为命令标记,又可以作为状态标记。当作为命令标记时表示开始附件的下载,同时需要设置附件的下载位置uiDestination,当作为状态标记时表示附件正在下载,uiDownloadedSize表示下载的进度。 |
uiSate |
SAVED = 3 |
状态标志,表示附件下载成功。 |
uiSate |
REDOWNLOADING = 4 |
命令标记,表示请求重新下载该附件。 |
uiDestination |
CACHE = 0 |
表示附件的保存位置为应用私有的缓存空间,实际保存到 data/data/databases/Emailproviders/ |
uiDestination |
EXTERNAL = 1 |
表示附件的保存位置为设备公共空间。实际保存到: |
contentid |