2015-09-26 59 views
0

我使用下面的代码从联系人中获取号码,但我仍然获取联系人的手机号码。从联系人中获取地址但仍然收到号码?

Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null); 
    while (phones.moveToNext()) 
    { 

     String address=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS)); 

     Toast.makeText(getBaseContext(), "Address is:"+address, Toast.LENGTH_SHORT).show(); 
    } 

在烤面包片我得到一个联系人的手机号码,但我需要的是移动用户存储的地址。

谢谢。

+0

你需要'ContactsContract.CommonDataKinds.StructuredPostal#CONTENT_URI'作为'Uri' – pskink

回答

0

你可以用它来获取完整的地址

String addrWhere = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?"; 
    String[] addrWhereParams = new String[]{id, 
     ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE}; 
    Cursor addrCur = cr.query(ContactsContract.Data.CONTENT_URI, 
       null, where, whereParameters, null); 
    while(addrCur.moveToNext()) { 
     String poBox = addrCur.getString(
        addrCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX)); 
     String street = addrCur.getString(
        addrCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET)); 
     String city = addrCur.getString(
        addrCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY)); 
     String state = addrCur.getString(
        addrCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION)); 
     String postalCode = addrCur.getString(
        addrCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE)); 
     String country = addrCur.getString(
        addrCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY)); 
     String type = addrCur.getString(
        addrCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE)); 
    } 
    addrCur.close(); 
相关问题