android 獲取聯繫人和短消息信息

1. 調用系統的

  1. Cursor cursor = getContentResolver().query( 
  2.                 ContactsContract.Contacts.CONTENT_URI, nullnullnullnull); 
  3.         while (cursor.moveToNext()) { 
  4.  
  5.             // 獲得通訊錄中每個聯繫人的ID 
  6.             String contactId = cursor.getString(cursor 
  7.                     .getColumnIndex(ContactsContract.Contacts._ID)); 
  8.  
  9.             // 獲得通訊錄中聯繫人的名字 
  10.             String name = cursor 
  11.                     .getString(cursor 
  12.                             .getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); 
  13.             sb.append("名字:").append(name).append("\r\n"); 
  14.  
  15.             // 查看給聯繫人是否有電話,返回結果是String類型,1表示有,0表是沒有 
  16.             String hasPhone = cursor 
  17.                     .getString(cursor 
  18.                             .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
  19.  
  20.             if (hasPhone.equalsIgnoreCase("1")) 
  21.                 hasPhone = "true"
  22.             else 
  23.                 hasPhone = "false"
  24.  
  25.             // 如果有電話,根據聯繫人的ID查找到聯繫人的電話,電話可以是多個 
  26.  
  27.             if (Boolean.parseBoolean(hasPhone)) { 
  28.                 Cursor phones = getContentResolver().query( 
  29.                         ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
  30.                         null
  31.                         ContactsContract.CommonDataKinds.Phone.CONTACT_ID 
  32.                                 + " = " + contactId, nullnull); 
  33.                 sb.append("電話:"); 
  34.                 while (phones.moveToNext()) { 
  35.                     String phoneNumber = phones 
  36.                             .getString(phones 
  37.                                     .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
  38.                     sb.append(phoneNumber+" "); 
  39.                 } 
  40.                 sb.append("\r\n"); 
  41.                 phones.close(); 
  42.             } 
  43.  
  44.             // 查找email地址,這裏email也可以有多個 
  45.  
  46.             Cursor emails = getContentResolver().query( 
  47.                     ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
  48.                     null
  49.                     ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " 
  50.                             + contactId, nullnull); 
  51.             sb.append("email:"); 
  52.             while (emails.moveToNext()) { 
  53.                 String emailAddress = emails 
  54.                         .getString(emails 
  55.                                 .getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); 
  56.                 sb.append(emailAddress+" "); 
  57.             } 
  58.             sb.append("\r\n"); 
  59.             emails.close(); 
  60.  
  61.             // 獲得聯繫人的地址 
  62.  
  63.             Cursor address = getContentResolver() 
  64.                     .query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, 
  65.                             null, 
  66.                             ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID 
  67.                                     + " = " + contactId, null, null); 
  68.             while (address.moveToNext()) { 
  69.                 // These are all private class variables, don’t forget to create 
  70.                 // them. 
  71.                 String poBox = address 
  72.                         .getString(address 
  73.                                 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX)); 
  74.                 String street = address 
  75.                         .getString(address 
  76.                                 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET)); 
  77.                 String city = address 
  78.                         .getString(address 
  79.                                 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY)); 
  80.                 String state = address 
  81.                         .getString(address 
  82.                                 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION)); 
  83.                 String postalCode = address 
  84.                         .getString(address 
  85.                                 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE)); 
  86.                 String country = address 
  87.                         .getString(address 
  88.                                 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY)); 
  89.                 String type = address 
  90.                         .getString(address 
  91.                                 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE)); 
  92.             }
  93.  
  94.         } 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章