Android获取通讯录联系人显示在EditText上Demo

需求:
一个edittext 一个button,点击button转到系统通讯录,选中其中一个通讯录item返回当前界面且把
选中的联系人号码用户名显示在edittext上

Android获取通讯录联系人显示在EditText上Demo_第1张图片

 

Android获取通讯录联系人显示在EditText上Demo_第2张图片

 

Android获取通讯录联系人显示在EditText上Demo_第3张图片

 

代码:

package com.example.contactdemo;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {

	EditText text;
	String username,usernumber;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (EditText)findViewById(R.id.number);
    }

    
   public void click(View v){
	   startActivityForResult(new Intent(
				Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI), 0);
   }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    	super.onActivityResult(requestCode, resultCode, data);
    	if (resultCode == Activity.RESULT_OK) {
    		ContentResolver reContentResolverol = getContentResolver();
 			Uri contactData = data.getData();
 			@SuppressWarnings("deprecation")
			Cursor cursor = managedQuery(contactData, null, null, null, null);
 			cursor.moveToFirst();
 			username = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
            Cursor phone = reContentResolverol.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
            		 null, 
            		 ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, 
            		 null, 
            		 null);
             while (phone.moveToNext()) {
            	 usernumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                 text.setText(usernumber+" ("+username+")");
             }

 		}
    }
}


 

布局:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical"
    >

	<EditText 
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:hint="输入电话号码"
	    android:id="@+id/number"
	    />
	<Button 
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:text="从通讯录中获取"
	    android:onClick="click"
	    
	    />

</LinearLayout>


 

添加权限:

     <uses-permission android:name="android.permission.READ_CONTACTS" /> 
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />

 

你可能感兴趣的:(android,layout,null,button,tools,通讯)