Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Android选择联系人

其实Android里没有难的技术,看它的文档就可了。下面算是直接从它的文档里抄的例子,稍微加点东西。Android实现批量添加联系人到通讯录 http://www.linuxidc.com/Linux/2014-05/101853.htmAndroid手机联系人数据库分析 http://www.linuxidc.com/Linux/2013-12/94346.htmAndroid调用系统联系人返回联系人结果 http://www.linuxidc.com/Linux/2013-05/84294.htmAndroid 由data 获取联系人信息 http://www.linuxidc.com/Linux/2013-04/82696.htmAndroid使用Contact数据模型来批量插入联系人 http://www.linuxidc.com/Linux/2011-12/48574.htm
 
发出action请求Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
 pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
 startActivityForResult(pickContactIntent, 11);接收回复 protected void onActivityResult(int requestCode, int resultCode, Intent data)
 {
  if(requestCode == 11 && resultCode == RESULT_OK)
  {
 Uri contactUri = data.getData();
            // We only need the NUMBER column, because there will be only one row in the result
           
     String[] projection = {
         ContactsContract.PhoneLookup.DISPLAY_NAME, 
                    ContactsContract.CommonDataKinds.Phone.NUMBER
                    }; 
       //String[] projection = {Phone.NUMBER};            // Perform the query on the contact to get the NUMBER column
            // We don"t need a selection or sort order (there"s only one result for the given URI)
            // CAUTION: The query() method should be called from a separate thread to avoid blocking
            // your app"s UI thread. (For simplicity of the sample, this code doesn"t do that.)
            // Consider using CursorLoader to perform the query.
            Cursor cursor = getContentResolver()
                    .query(contactUri, projection, null, null, null);
            cursor.moveToFirst();            // Retrieve the phone number from the NUMBER column
            int indexPhoneNumber = cursor.getColumnIndex(Phone.NUMBER);
            int indexDisplayName = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
            String phoneNumber = cursor.getString(indexPhoneNumber);
            String displayName = cursor.getString(indexDisplayName);            if(phoneNumber != null && displayName != null)
            {
     if(phoneNumber.startsWith("+86"))
        phoneNumber = phoneNumber.substring(3);
     
     EditText textNumber = (EditText)findViewById(R.id.text_number);
     textNumber.setText(""" + displayName + """ + phoneNumber);       
            }           
  }
 }更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-06/103108.htm