Android 之 获取联系人信息

原创 2012年03月30日 00:02:29
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ethan.activity"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".ContactActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
    </application>
	<uses-permission android:name="android.permission.READ_CONTACTS"/>
</manifest>


package com.ethan.activity;

import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ContactActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        Uri contactsUri = ContactsContract.Contacts.CONTENT_URI;
        
        String[] projection = new String[] {ContactsContract.Contacts.DISPLAY_NAME,
        		ContactsContract.Contacts.HAS_PHONE_NUMBER,
        		ContactsContract.Contacts.LOOKUP_KEY};
        
        Cursor cursor = getContentResolver().query(contactsUri, projection, null, null, null);
        
        List<String> contactsList = new ArrayList<String>();
        
        String allPhoneNo = "";
        if(cursor.getCount()>0) {
        	while(cursor.moveToNext()) {
        		if(cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))>0) {
        			allPhoneNo=getAllPhoneNumbers(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)));
        		}
        		
        		contactsList.add(cursor.getString(0)+" , "+allPhoneNo);
        		allPhoneNo = "";
        	}
        }
        
        // binding the data to ListView 
        setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, contactsList));
      /*  ListView lv = getListView();
        lv.setTextFilterEnabled(true);*/
    }

	private String getAllPhoneNumbers(String lookUp_Key) {
		String allPhoneNo = "";
		
		Uri phoneUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
		String[] projection2 = {ContactsContract.CommonDataKinds.Phone.NUMBER};
		 // using lookUp key to search the phone numbers
		String selection = ContactsContract.Data.LOOKUP_KEY+"=?";
		String[] selectionArgs = {lookUp_Key};
		
		Cursor cur = getContentResolver().query(phoneUri, projection2, selection, selectionArgs, null);
		
		while(cur.moveToNext()) {
			allPhoneNo += cur.getString(0)+" ";
		}
		return allPhoneNo;
	}
}


Android中获取联系人信息(一)

在上一篇学习ListView的时候,看到在API中获取联系人的例子已经不被官方推荐了。于是,手痒又查了查,看看使用Android如何获取联系人信息。这篇可以说着对ListView继续深入学习,也是对a...
  • johnsonwce
  • johnsonwce
  • 2014年04月11日 19:40
  • 2772

Android根据内容提供者获得联系人信息实例

获取手机联系人信息这一十分常用的功能,最近项目里也要实现此功能,想到以后的APP还十分可能还有此功能,就干脆把这个小功能放到一个类中去,这样以后再遇到这个需求就不需要再去写代码了,直接把这个类拷过来就...
  • u013334392
  • u013334392
  • 2017年02月10日 17:38
  • 1028

Android中获取单个联系人的详细信息

许久没有用过通讯,虽然知道原理但是却忘记怎么写了,在此做个记录以备不时之需package com.example.chauncey.searchbar;import android.content.C...
  • cx1229
  • cx1229
  • 2017年04月27日 15:24
  • 637

Android读取联系人信息(姓名,电话,地址,邮箱,生日等)

最近尝试了一下拉取手机通讯录中所有联系人的姓名,手机号码,地址,公司,邮箱等信息,在此做点小笔记,有需要的时候可以直接拿过来用,好了下面看看代码吧: public void testGetAllCo...
  • lplj717
  • lplj717
  • 2016年11月01日 11:30
  • 1366

Android中 根据电话号码获取联系人姓名

以下是根据一个已知的电话号码,从通讯录中获取相对应的联系人姓名的代码: public String getContactNameFromPhoneBook(Context context, Str...
  • Listening_music
  • Listening_music
  • 2012年01月03日 09:58
  • 10309

android获取联系人信息

android中在webView中显示网页,在网页中通过Js调用通讯录中的联系人信息,显示到webView中。...
  • xiaoyi848699
  • xiaoyi848699
  • 2014年02月17日 11:08
  • 1639

Android开发之获取联系人信息

Android开发之获取联系人信息
  • zhu530548851
  • zhu530548851
  • 2014年04月11日 16:07
  • 750

android 定时获取联系人信息

package cn.myjdb;import java.io.BufferedReader; import java.io.File; import java.io.FileInputStrea...
  • dayDayupbetter
  • dayDayupbetter
  • 2017年03月16日 17:03
  • 212

Android软件开发之获取通讯录联系人信息 + android联系人信息的存储结构 + Android联系人读取操作笔记

总结的最好的一篇文章是: http://blog.csdn.net/xys289187120/article/details/6730957 但要纠错下: Contacts表中没有displ...
  • snwrking
  • snwrking
  • 2012年05月25日 14:16
  • 57380

操作Android中联系人,通话记录,短息,的URI-项海涛

记住读取联系人需要配置权限: 读取联系人的URI:/** * 所有联系人的查询语句 * cota...
  • tarena_3G
  • tarena_3G
  • 2016年10月22日 17:30
  • 1198
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 之 获取联系人信息
举报原因:
原因补充:

(最多只允许输入30个字)