1.介绍
2.使用方法
3.在AndroidManifest.xml文件中添加相关设置
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
4.XML布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" android:gravity="center_horizontal"> <!--android:gravity="center_horizontal 水平中心对齐--> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="您手机中的联系人包括:" /> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/textView3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout> </ScrollView> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="获取联系人" /> </LinearLayout>
5.java后台
package com.lucky.test42contentprovider; import android.content.ContentResolver; import android.database.Cursor; import android.provider.ContactsContract; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { Button button1; TextView textView1; List<String> list; //定义一个集合用来存放用户名和电话号码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=findViewById(R.id.button); textView1=findViewById(R.id.textView3); list=new ArrayList<>(); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ContentResolver contentResolver=getContentResolver(); //获取手机中的通讯录 Cursor cursor=contentResolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);//获取联系人 while (cursor.moveToNext()){ String name=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); //获取联系人姓名 list.add("\n姓名:"+name); //获取电话号码 int id=cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts._ID)); Cursor cursor1=contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+id,null,null); while (cursor1.moveToNext()){ String phonenumber=cursor1.getString(cursor1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); list.add("\n"+phonenumber); //将电话号码添加到集合中 } } textView1.setText(""); for (int i = 0; i <list.size() ; i++) { textView1.append(list.get(i)); } } }); } }