首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android People.Number和People.Number_key返回空

Android People.Number和People.Number_key返回空
EN

Stack Overflow用户
提问于 2010-06-27 10:55:11
回答 1查看 1.1K关注 0票数 4

我正在尝试从电话中获取联系人,但我只能获得姓名,电话号码返回null。

代码语言:javascript
复制
       Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null,People.NAME + " ASC");
  startManagingCursor(cursor);
  cursor.moveToFirst();
  if(cursor.getCount() > 0){
  while(cursor.moveToNext()){
    int idCol = cursor.getColumnIndex(People._ID);
          int nameCol = cursor.getColumnIndex(People.NAME);
          int numCol = cursor.getColumnIndex(People.NUMBER_KEY);

          String name = cursor.getString(nameCol);
          String number = cursor.getString(numCol);
    //mDbHelper.addContact(managedCursor.getString(1),managedCursor.getString(2));
    Log.v("contact.add",name+" - "+number);
  }

有什么想法吗?

大约3个小时后,我想通了:

代码语言:javascript
复制
   ContentResolver cr = getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
                null, null, null, null);
        if (cur.getCount() > 0) {
         cur.move(-1);
     while (cur.moveToNext()) {
         String id = cur.getString(
                        cur.getColumnIndex(ContactsContract.Contacts._ID));
  String name = cur.getString(
                        cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
   if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
     if (Integer.parseInt(cur.getString(
                     cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                  Cursor pCur = cr.query(
         ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
         null, 
         ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", 
         new String[]{id}, null);
            while (pCur.moveToNext()) {

         Log.v("Phone",""+pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))+" - "+name);
         i++;
            } 
            pCur.close();
        }

          }
            }
  }
EN

回答 1

Stack Overflow用户

发布于 2010-06-27 11:12:51

电话号码列是People.NUMBER,而不是People.NUMBER_KEY。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3126219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档