0
我是新来android.I需要手机中的联系人显示在我的application.The问题,我在这里面对的是谷歌的接触也与我application.I手机通讯录来不知道如何筛选这个疑难问题只需要显示我的手机contacts.Please帮助我。 在此先感谢显示手机中的联系人仅限搭载Android
list = new ArrayList<contactlist>();
adptr = new customcontactadptr(this, R.layout.listcontactitem, list);
Uri uri = ContactsContract.Contacts.CONTENT_URI;
ContentResolver cr = getContentResolver();
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
Cursor cur = cr.query(uri, null, null, null, sortOrder);
if(cur.getCount() > 0)
{
cur.moveToFirst();
do
{
if (Integer.parseInt(cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0)
{
String contactid = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
contactlist con = new contactlist();
nme = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Log.e("contactid",contactid);
String status = cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts.CONTACT_STATUS));
Long statuslabel = cur.getLong(cur.getColumnIndexOrThrow(ContactsContract.Contacts.CONTACT_STATUS_LABEL));
if(status!=null)
{
Log.e("status", status);
}
else if(statuslabel!=null)
{
Log.e("status label", Long.toString(statuslabel));
}
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{contactid}, null);
pCur.moveToFirst();
do
{
int phone_type = pCur.getInt(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
if(phone_type == ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
{
no = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.e("Name",nme);
Log.e("Number",no);
con.setchecked(false);
con.setname(nme);
con.setno(n);
list.add(con);
adptr.notifyDataSetChanged();
}
}while (pCur.moveToNext());
pCur.close();
}
}while(cur.moveToNext());
}
setListAdapter(adptr);
检查[这](http://stackoverflow.com/a/4409453/1265724) –
请张贴一些代码@ShreyaShah我增加了我的代码 –
基兰您链接帮助me.Thanks了很多。 – Techy