Android项目——读取手机联系人信息
2014-08-21 16:01
351 查看
加入读取联系人信息的权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
content://com.android.contacts/contacts 操作的数据是联系人信息Uri
content://com.android.contacts/data/phones 联系人电话Uri
content://com.android.contacts/data/emails 联系人Email
Uri
读取联系人信息
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null,
null, null, null);
while
(cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+" = "+ contactId,
null,
null);
while
(phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i("RongActivity",
"phoneNumber="+phoneNumber);
}
phones.close();
Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID
+ " = " + contactId,
null,
null);
while
(emails.moveToNext()) {
// This would allow you get several email addresses
String emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
Log.i("RongActivity",
"emailAddress="+ emailAddress);
}
emails.close();
}
cursor.close();
---------------------------------
/**
* 读取联系人信息
* @author Administrator yangchao[/u]
*
*/
public class MainActivity extends Activity
{
public static final String TAG = "yangchao";
private ListView lvContent;
@Override
protected void onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvContent =
(ListView) findViewById(R.id.lvContent);
List<HashMap<String, Object>> data = new ContactService(this).getInfo();
SimpleAdapter adapter = new SimpleAdapter(this,
data, R.layout.item,
new String[]{"name", "number", "email"}, new int[]{R.id.tvName,
R.id.tvNumber,
R.id.tvEmail});
lvContent.setAdapter(adapter);
}
}
---------------------------------------------------------------------------------------------------------------
public class ContactService
{
private Context context;
public ContactService(Context
context)
{
this.context =
context;
}
public List<HashMap<String,
Object>> getInfo()
{
List<HashMap<String, Object>> data = new ArrayList<HashMap<String,
Object>>();
ContentResolver contentResolver = context.getContentResolver();
Cursor cursor = contentResolver.query(
ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext())
{
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
HashMap<String, Object> map = new HashMap<String,
Object>();
map.put("name",
name);
Cursor phones = contentResolver.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "
= "
+ contactId, null, null);
while (phones.moveToNext())
{
String phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
map.put("number",
phoneNumber);
Log.i("RongActivity", "phoneNumber=" +
phoneNumber);
}
phones.close();
Cursor emails = contentResolver.query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + "
= "
+ contactId, null, null);
while (emails.moveToNext())
{
//
This would allow you get several email addresses
String emailAddress = emails
.getString(emails
.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
map.put("email",
emailAddress);
Log.i("RongActivity", "emailAddress=" +
emailAddress);
}
data.add(map);
emails.close();
}
cursor.close();
return data;
}
}
<uses-permission android:name="android.permission.READ_CONTACTS"/>
content://com.android.contacts/contacts 操作的数据是联系人信息Uri
content://com.android.contacts/data/phones 联系人电话Uri
content://com.android.contacts/data/emails 联系人Email
Uri
读取联系人信息
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null,
null, null, null);
while
(cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+" = "+ contactId,
null,
null);
while
(phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i("RongActivity",
"phoneNumber="+phoneNumber);
}
phones.close();
Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID
+ " = " + contactId,
null,
null);
while
(emails.moveToNext()) {
// This would allow you get several email addresses
String emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
Log.i("RongActivity",
"emailAddress="+ emailAddress);
}
emails.close();
}
cursor.close();
---------------------------------
/**
* 读取联系人信息
* @author Administrator yangchao[/u]
*
*/
public class MainActivity extends Activity
{
public static final String TAG = "yangchao";
private ListView lvContent;
@Override
protected void onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvContent =
(ListView) findViewById(R.id.lvContent);
List<HashMap<String, Object>> data = new ContactService(this).getInfo();
SimpleAdapter adapter = new SimpleAdapter(this,
data, R.layout.item,
new String[]{"name", "number", "email"}, new int[]{R.id.tvName,
R.id.tvNumber,
R.id.tvEmail});
lvContent.setAdapter(adapter);
}
}
---------------------------------------------------------------------------------------------------------------
public class ContactService
{
private Context context;
public ContactService(Context
context)
{
this.context =
context;
}
public List<HashMap<String,
Object>> getInfo()
{
List<HashMap<String, Object>> data = new ArrayList<HashMap<String,
Object>>();
ContentResolver contentResolver = context.getContentResolver();
Cursor cursor = contentResolver.query(
ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext())
{
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
HashMap<String, Object> map = new HashMap<String,
Object>();
map.put("name",
name);
Cursor phones = contentResolver.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "
= "
+ contactId, null, null);
while (phones.moveToNext())
{
String phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
map.put("number",
phoneNumber);
Log.i("RongActivity", "phoneNumber=" +
phoneNumber);
}
phones.close();
Cursor emails = contentResolver.query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + "
= "
+ contactId, null, null);
while (emails.moveToNext())
{
//
This would allow you get several email addresses
String emailAddress = emails
.getString(emails
.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
map.put("email",
emailAddress);
Log.i("RongActivity", "emailAddress=" +
emailAddress);
}
data.add(map);
emails.close();
}
cursor.close();
return data;
}
}
相关文章推荐
- Android项目——读取手机联系人信息
- Android读取手机通讯录联系人到自己项目
- 在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱
- 读取手机中的联系人信息(android.provider.ContactsContract)
- 在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱
- Android项目实战--手机卫士28--读取进程的信息并显示出来
- 在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱
- [android开发]ContentResolver读取手机联系人信息
- Android笔记--读取手机通讯录获取联系人信息
- Android读取手机联系人信息
- 实现读取手机中所有联系人的主要信息(名称和联系电话),并以ListView显示
- Android应用学习记录------AsyncTask和AsyncQueryHandler结合获取手机联系人信息
- Android学习之获得手机联系人基本信息
- 获取android手机联系人信息
- android 读取联系人等信息
- Android开发_读取联系人信息_读取通讯录号码
- Android软件开发之获取通讯录联系人信息 + android联系人信息的存储结构 + Android联系人读取操作笔记
- Android获取手机联系人信息的方法
- android 获取手机联系人信息
- Android项目实战--手机卫士18--读取用户的短信内容以及短信备份