Android获取联系人
16lz
2021-12-04
package com.fyfeng.test;import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract.CommonDataKinds.Phone;import android.support.v7.app.ActionBarActivity;import android.util.Log;public class MainActivity extends ActionBarActivity {private static final String tag = MainActivity.class.getSimpleName();private Context mContext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);this.mContext = this.getApplicationContext();test();}private void test() {this.getContacts();this.getSimContact("content://icc/adn");this.getSimContact("content://sim/adn");}private void getContacts() {ContentResolver resolver = mContext.getContentResolver();Cursor cursor = null;try {cursor = resolver.query(Phone.CONTENT_URI, null, null, null, null);if (cursor != null && cursor.moveToFirst()) {int index_displayName = cursor.getColumnIndex(Phone.DISPLAY_NAME);int index_phoneNumber = cursor.getColumnIndex(Phone.NUMBER);do {String displayName = cursor.getString(index_displayName);String phoneNumber = cursor.getString(index_phoneNumber);Log.d(tag, "phoneNumber = " + phoneNumber + ", displayName = " + displayName);} while (cursor.moveToNext());}} catch (Exception e) {e.printStackTrace();} finally {if (null != cursor) {cursor.close();}}}/** * 读取SIM卡手机号,有两种可能:content://icc/adn与content://sim/adn * * @param uriString */private void getSimContact(String uriString) {//Cursor cursor = null;try {Uri uri = Uri.parse(uriString);cursor = getContentResolver().query(uri, null, null, null, null);if (cursor != null && cursor.moveToFirst()) {int index_name = cursor.getColumnIndex("name");int index_number = cursor.getColumnIndex("number");do {String name = cursor.getString(index_name);String number = cursor.getString(index_number);Log.d(tag, "number = " + number + ", name = " + name);} while (cursor.moveToNext());}} catch (Exception e) {e.printStackTrace();} finally {if (null != cursor) {cursor.close();}}}}
更多相关文章
- android 读取ini文件
- android > SMS 短信数据库访问
- Android(安卓)socket 工具类
- android 获取网络图片
- android欢迎界面并执行任务
- Android(安卓)读写文件的N种写法
- android 读取,写入图片到sd卡源码
- android HttpURLConnection 连接网络 读取返回数据
- Android中读取短信信息