zoukankan      html  css  js  c++  java
  • 调用系统联系人列表

    调用系统联系人列表

    Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
    startActivityForResult(intent, ACTION_PICK);

    获取返回

    代码
     1 @Override
     2     protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
     3         if (ACTION_PICK == requestCode) {
     4             if (resultCode == Activity.RESULT_OK) {
     5                 Uri contactData = intent.getData();
     6                 Cursor c = managedQuery(contactData, nullnullnullnull);
     7                 if (c.moveToFirst()) {
     8                     getContactInfo(intent);
     9                 }
    10             }
    11         }
    12         super.onActivityResult(requestCode, resultCode, intent);
    13     }

    解析联系人信息 

     代码

     1 private void getContactInfo(Intent intent) {
     2         Cursor cursor = managedQuery(intent.getData(), nullnullnullnull);
     3         while (cursor.moveToNext()) {
     4             String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
     5             String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
     6             String phoneNumber = null, emailAddress=null;
     7             String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
     8 
     9             if (hasPhone.equalsIgnoreCase("1"))
    10                 hasPhone = "true";
    11             else
    12                 hasPhone = "false";
    13 
    14             if (Boolean.parseBoolean(hasPhone)) {
    15                 Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
    16                         ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, nullnull);
    17                 while (phones.moveToNext()) {                    
    18                     phoneNumber += phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)) +";";
    19                 }
    20                 phones.close();
    21             }
    22 
    23             txtContact.setText(name);
    24             txtMessage.setText(phoneNumber);
    25 
    26             Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
    27                     ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId, nullnull);
    28             while (emails.moveToNext()) {
    29                 emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
    30             }
    31             emails.close();
    32 
    33             Cursor address = getContentResolver().query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, null,
    34                     ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + contactId, nullnull);
    35             while (address.moveToNext()) {
    36                 String poBox = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));
    37                 String street = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
    38                 String city = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
    39                 String state = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
    40                 String postalCode = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
    41                 String country = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
    42                 String type = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));
    43             }
    44             address.close();
    45         }
    46         cursor.close();
    47     }
  • 相关阅读:
    【ybt金牌导航4-7-3】【luogu P3437】三维俄罗斯方块 / TET-Tetris 3D
    【ybt金牌导航4-6-6】【luogu P2617】【ybt金牌导航4-7-4】动态排名 / Dynamic Rankings
    【ybt金牌导航4-6-4】【luogu P3402】可持久化并查集
    【luogu P5055】【模板】可持久化文艺平衡树
    【ybt金牌导航4-6-2】【luogu P3835】可持久化平衡树
    【luogu P4278】【ybt金牌导航4-5-2】带插入区间K小值(树套树做法)
    【luogu P3369】普通平衡树(fhq Treap 做法)
    【ybt金牌导航4-4-2】【luogu P2042】维护数列(fhq Treap 做法)
    【luogu P3369】普通平衡树(Treap 做法)
    匿名函数
  • 原文地址:https://www.cnblogs.com/mobile/p/1944652.html
Copyright © 2011-2022 走看看