android获取联系人电话号码

    android中通过联系人的Uri获取电话号码信息:

//查询表数据列
static final String[] PHONE_SUMMARY_PROJECTION = new String[] { 
        Phone._ID,
        Phone.NUMBER,
        Phone.IS_SUPER_PRIMARY, 
        RawContacts.ACCOUNT_TYPE,
        Phone.TYPE, 
        Phone.LABEL };
//从路径中Contact ID,mLookupUri为联系人的路径信息
final long contactId = ContentUris.parseId(mLookupUri);
String phoneNumber = null;
//为路径加上ID
Uri baseUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,
              contactId);
Uri dataUri = Uri.withAppendedPath(baseUri,
              Contacts.Data.CONTENT_DIRECTORY);
//查询数据
Cursor cursor = getContentResolver().query(dataUri,
                PHONE_SUMMARY_PROJECTION, Data.MIMETYPE + "=?",
                new String[] { Phone.CONTENT_ITEM_TYPE }, null);

if (cursor != null && cursor.moveToFirst()) {
    phoneNumber =  cursor.getString(cursor.getColumnIndex(Phone.NUMBER));
}

实验平台为android2.2

posted on 2012-09-10 11:41  cpp255  阅读(559)  评论(0编辑  收藏  举报

导航