获得从联系人列表Android的唯一的电子邮件地址 [英] Get only email address from contact list Android
本文介绍了获得从联系人列表Android的唯一的电子邮件地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想只显示那些联系人姓名的电子邮件地址是present。否则,该联系人名称不应该显示在列表中。我怎样才能做到这一点?任何人都可以请帮我吗?
解决方案
公开的ArrayList<字符串> getNameEmailDetails(){
ArrayList的<字符串>名称=新的ArrayList<字符串>();
ContentResolver的CR = getContentResolver();
光标CUR = cr.query(ContactsContract.Contacts.CONTENT_URI,NULL,NULL,NULL,NULL);
如果(cur.getCount()大于0){
而(cur.moveToNext()){
字符串ID = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
光标CUR1 = cr.query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,空,
ContactsContract.CommonDataKinds.Email.CONTACT_ID +=?,
新的String [] {ID},NULL);
而(cur1.moveToNext()){
//获取联系人姓名
字符串名称= cur1.getString(cur1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
Log.e(姓名:,姓名);
字符串email = cur1.getString(cur1.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
Log.e(电子邮件,电子邮件);
如果(电子邮件!= NULL){
names.add(名称);
}
}
cur1.close();
}
}
返回名称;
}
以上方法返回的名字里面有电子邮件ID的ArrayList
I want to display only those contact names whose email address is present. Otherwise that contact name should not be displayed in List. How can I do this? Can anybody please help me?
解决方案
public ArrayList<String> getNameEmailDetails(){
ArrayList<String> names = new ArrayList<String>();
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
Cursor cur1 = cr.query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?",
new String[]{id}, null);
while (cur1.moveToNext()) {
//to get the contact names
String name=cur1.getString(cur1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
Log.e("Name :", name);
String email = cur1.getString(cur1.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
Log.e("Email", email);
if(email!=null){
names.add(name);
}
}
cur1.close();
}
}
return names;
}
the above method return an arraylist of names which has email id.
这篇关于获得从联系人列表Android的唯一的电子邮件地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文