您的位置:首页 > 其它

如何有效的获取通讯录中的工作 公司等信息

2016-07-07 13:54 239 查看
在获取本地通讯录信息的时候,由于很多字段的第二键值相同,所以在获取公司职位等信息的时候,不可与前面的姓名号码等同时获取,而是先存储id,姓名等信息,然后通过数据库筛选出只包含公司职位的字段值,然后再存储到本地。流程如下:

  (1)首先获取id姓名等信息

    Uri uri =ContactsContract.CommonDataKinds.Phone.CONTENT_URI;

    cursor = context.getContentResolver().query(uri,

                          new String[] {"display_name", "sort_key", "contact_id",

                                 "data1" }, null, null, "sort_key");

    if(cursor.moveToFirst()) {

         do {

              LinkManModel contact = newLinkManModel();

              String contact_phone = cursor.getString(cursor

                   .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                          ……

                      }

                    while(cursor.moveToNext());
                  }

  (2)获取公司信息

 

    CursororgCursor = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI, new       String[]{ContactsContract.CommonDataKinds.Organization.COMPANY,ContactsContract.CommonDataKin  ds.Organization.TITLE,
"contact_id"},

    ContactsContract.CommonDataKinds.Nickname.CONTACT_ID+"="+"contact_id"+"AND "+

ContactsContract.Data.MIMETYPE+"='"+ContactsContract.CommonDataKinds.Organization.CONTENT_IT  EM_TYPE+"'", null, null);

    if(orgCursor.moveToFirst()){

      do{

           String company =orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.CommonDataKinds.Organization.COMPANY));

           String position =orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.CommonDataKinds.Organization.TITLE))

}while(orgCursor.moveToNext());

}

    orgCursor.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: