Android 选择仅储存在手机存储器中的所有联系人
我只需要从手机存储器中获取联系人,而不需要从sim卡中获取联系人。我使用以下代码,但它从sim卡和手机中获取所有联系人。请帮帮我 这是我的密码Android 选择仅储存在手机存储器中的所有联系人,android,contact,Android,Contact,我只需要从手机存储器中获取联系人,而不需要从sim卡中获取联系人。我使用以下代码,但它从sim卡和手机中获取所有联系人。请帮帮我 这是我的密码 private void getcontacts(){ ContentResolver cr = getContentResolver(); ArrayList<String> contactsBuffer = new ArrayList<String>(); Curs
private void getcontacts(){
ContentResolver cr = getContentResolver();
ArrayList<String> contactsBuffer = new ArrayList<String>();
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));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
String phoneNo = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
//Toast.makeText(MainActivity.this, "Name: " + name + ", Phone No: " + phoneNo, Toast.LENGTH_SHORT).show();
contactsBuffer.add( name +" "+phoneNo);
}
pCur.close();
}
}
}
}
private void getcontacts(){
ContentResolver cr=getContentResolver();
ArrayList contactsBuffer=新建ArrayList();
Cursor cur=cr.query(Contacts contract.Contacts.CONTENT\u URI,
空,空,空,空);
如果(cur.getCount()>0){
while(cur.moveToNext()){
字符串id=cur.getString(cur.getColumnIndex(ContactsContract.Contacts._id));
字符串名称=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_name));
if(Integer.parseInt(cur.getString(
cur.getColumnIndex(Contacts.Contacts.HAS_PHONE_NUMBER))>0){
游标pCur=cr.query(
ContactsContract.CommonDataTypes.Phone.CONTENT\u URI,
无效的
ContactsContract.CommonDataTypes.Phone.CONTACT_ID+“=?”,
新字符串[]{id},null);
while(pCur.moveToNext()){
String phoneNo=pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataTypes.Phone.NUMBER));
//Toast.makeText(MainActivity.this,“Name:+Name+”,电话号码:+phoneNo,Toast.LENGTH_SHORT).show();
contactsBuffer.add(姓名+“”+电话号码);
}
pCur.close();
}
}
}
}
看一看,我可能知道上面的链接和我的代码之间的区别基本上是一样的,但它与我的代码太不一样了。事实上,它应该得到电话联系方式,但无论如何,最糟糕的方式是比较两个联系方式。谢谢。。现在可以用了