您的位置:首页 > 移动开发 > Android开发

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

2014-06-24 17:57 567 查看
需求:

一个edittext 一个button,点击button转到系统通讯录,选中其中一个通讯录item返回当前界面且把

选中的联系人号码用户名显示在edittext上



 



 



 

代码:

[html] view
plaincopy

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

[html] view
plaincopy

<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" />

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: