Android读取手机联系人信息

package com.example.contentprovider;

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

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

    private ListView contactsView;

    private ArrayAdapter<String> adapter;

    private List<String> contactslist = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        contactsView = (ListView) findViewById(R.id.contacts_view);
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, contactslist);
        contactsView.setAdapter(adapter);
        readContacts();
    }

    private void readContacts() {

        Cursor cursor = null;
        try {

            cursor = getContentResolver().query(
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
                    null, null, null);
            while (cursor.moveToNext()) {
                //获取联系人姓名
                String displayName = cursor
                        .getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                //获取联系人手机号
                String number = cursor
                        .getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                
                contactslist.add(displayName+"
"+number);
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            if(cursor != null)
                cursor.close();
        }

    }
}
原文地址:https://www.cnblogs.com/zhangbaowei/p/4664901.html