3.2 删除联系人
Contacts相关模块中,有很多地方可以删除联系人,并且有单个删除联系人也有多个删除联系人。以QuickContactActivity为例论述删除单个联系人的详细流程, QuickContactActivity的界面如下,
QuickContactActivity界面点击Delete菜单时,会弹出一个对话框,点击对话框的OK才会删除该联系人。
QuickContactActivity的onOptionsItemSelected方法对删除联系人的菜单处理如下,
case R.id.menu_delete:
if (isContactEditable()) {
deleteContact();
}
删除联系人主要分为2个部分,
1,利用LoaderManager异步查询联系人信息,
2,启动ContactSaveService服务开启线程删除联系人。
2.1 查询联系人
QuickContactActivity的deleteContact方法调用流程图如下,
deleteContact方法逻辑如下,
1,首先获取联系人对应的Uri,
final Uri contactUri = mContactData.getLookupUri();
2,调用ContactDeletionInteraction的start方法进行处理,
ContactDel