Android获取联系人和电话号码

package com.example.example_03_02;

import android.os.Bundle;
import android.provider.ContactsContract;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.text.method.ScrollingMovementMethod;
import android.view.Menu;
import android.widget.TextView;

public class Activity_01 extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_01);
		String string = "";
		String contactName = "";
		String contactNumber = "";
		String contactId = "";
		TextView textView = (TextView) findViewById(R.id.textView);
		textView.setMovementMethod(ScrollingMovementMethod.getInstance());
		ContentResolver cr = getContentResolver();// 获得ContentResolver实例
		Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
				null, null, null);
		if (cursor.moveToFirst()) { // 先用moveToFirsrt来判断查询结果是否为空,查询得到的cursor是指向第一条记录之前的,所以必须moveToFirst()
			int displayNameColumn = cursor
					.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
			int id = cursor.getColumnIndex(ContactsContract.Contacts._ID);
			do {
				contactName = cursor.getString(displayNameColumn);// 获得联系人姓名
				contactId = cursor.getString(id);
				int phoneCount = cursor
						.getInt(cursor
								.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));// 获得联系人电话个数
				if (phoneCount > 0) {// 遍历查询电话号码
					Cursor phones = getContentResolver().query(
							ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
							null,
							ContactsContract.CommonDataKinds.Phone.CONTACT_ID
									+ " = " + contactId, null, null);
					if (phones.moveToFirst()) {
						do {
							contactNumber = phones
									.getString(phones
											.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
							string += contactName + ":" + contactNumber + "\n";
						} while (phones.moveToNext());
					}
				}
			} while (cursor.moveToNext());
		}
		cursor.close();
		textView.setText(string);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_01, menu);
		return true;
	}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值