android 通过ContentResolver获得联系人数据

package MyGetContacts.code;

import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.TextView;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    
    TextView textView;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textView = (TextView)findViewById(R.id.textView);
        String str = getQueryData();
        textView.setText(str);
        
    }


    private String getQueryData()
    {
        String result = "";
        ContentResolver resolver = getContentResolver();
        Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);
        
        int idIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID);
        int nameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
        
        //for(cursor.moveToFirst();(!cursor.isAfterLast());cursor.moveToNext())
        while(cursor.moveToNext())
        {
            String contactId = cursor.getString(idIndex);
            
            Cursor phone = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,
                    null,null);
            
            result = result + contactId + "\t";
            
            while(phone.moveToNext())
            {
                int i = phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
                String num = phone.getString(i);
                result += num;
            }
 
            result = result + cursor.getString(nameIndex) + "\t\n";
            
            phone.close();
        }
        cursor.close();  


        return result;
    }
}

最后别忘了 加上 <uses-permission android:name="android.permission.READ_CONTACTS"/>  这个权限,否则运行会出错

(真不知道google加这些权限干嘛用,脑残~~~)

原文地址:https://www.cnblogs.com/rollrock/p/2385992.html