一、联系人导入分析

android 4.0 contact 导入时序图
1. 联系人列表界面PeopleActivity通过onOptionsItemSelected的R.id.menu_import_export case响应用户的导入导出请求。
2. 在弹出的选择对话框ImportExportDialogFragment中选择导入,会通过StartActivity启动导入界面ImportVCardActivity.
3. ImportVCardActivity通过一系列用户选择最终通过startVCardService启动VCardService服务,这里VCardService并没有启动真正的导入服务
4. ImportVCardActivity启动VCardCacheThread来进行VCARD预处理,比如网络VCARD的缓存(通过VCardCacheThread的copyTo函数),然后通过HandleImportRequest通知VCardService导入VCard。
5. VCardService启动ImportProcessor线程导入VCard中的每个联系人(readOneVCard)
6. 在VCardService处理导入的过程中,会不时的把过程状态通知给NotificationImportExportListener,后者通知更新状态栏中的通知.
二、联系人导出分析
android 4.0 contact export
1. 联系人界面PeopleActivity通过onOptionsItemSelected的R.id.menu_import_export CASE响应用户的导入导出请求
2. 在弹出的选择对话框ImportExportDialogFragment中选择导出,会通过StartActivity启动导出界面ExportVCardActivity
3. ExportVCardActivity的ExportConfirmationListener.onClick调用handleExportRequest通知VCardService导出
4. VCardService收到请求后,会启动ExportProcessor线程处理真正的导出
5. 在ExportProcessor线程中,通过init、createOneEntry完成导出
本文详细解析了Android设备上联系人导入和导出的完整流程,包括从菜单选项触发到服务处理的各个环节,如启动Activity、VCard预处理、导入/导出线程操作等。

1727

被折叠的 条评论
为什么被折叠?



