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

Android 获取手机联系人

2015-03-17 14:09 323 查看
这几天做了一个项目要用到获取手机联系人的东东,自己就写了一个获取通讯录的东东,这种东西在手机端是有Api可以供我们使用的。

下边是代码

/**

* @author BJShiJiHuiTou

*

*/

public class MainActivity extends Activity {

private TextView tv_showtext;

private Context mContext;

/** 获取库Phon表字段 **/

private static final String[] PHONES_PROJECTION = new String[] {

Phone.DISPLAY_NAME, Phone.NUMBER, Photo.PHOTO_ID, Phone.CONTACT_ID };

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mContext = this;

tv_showtext = (TextView) findViewById(R.id.tv_showtext);

getPhoneNum();// 得到手机的联系人

getSimPhoneNum();// 得到sim卡上的联系人

}

private void getSimPhoneNum() {

ContentResolver resolver = mContext.getContentResolver();

// 获取Sims卡联系人

Uri uri = Uri.parse("content://icc/adn");

Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null,

null);

if (phoneCursor != null) {

while (phoneCursor.moveToNext()) {

// 得到手机号码

String phoneNumber = phoneCursor.getString(1);

// 得到联系人名称

String contactName = phoneCursor.getString(0);

System.out.println("simphoneNumber:"+phoneNumber);

System.out.println("simcontactName:"+contactName);

}

phoneCursor.close();

}

System.out.println("sim卡没有联系人");

}

private void getPhoneNum() {

ContentResolver resolver = mContext.getContentResolver();

Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,

PHONES_PROJECTION, null, null, null);

if (phoneCursor != null) {

StringBuilder str = new StringBuilder("");

while (phoneCursor.moveToNext()) {

// 得到手机号码

String phoneNumber = phoneCursor.getString(1);

// 得到联系人名称

String contactName = phoneCursor.getString(0);

str.append("" + contactName + "" + phoneNumber + "\n");

// System.out.println("name:"+contactName+"--phoneNumber:"+phoneNumber);

}

phoneCursor.close();

tv_showtext.setText(str);

}

}

当然也别忘了添加权限

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

因为现在好多的智能手机的电话号码都是默认保存在手机上的,所以sim卡上的信息未做处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: