2014-04-21 85 views
0

我如何找到與特定地址關聯的聯繫人?例如:我想搜索所有居住在「第一主要道路」的聯繫人。我試圖通過Android:從地址查找聯繫人

Contacts.CONTENT_LOOKUP_URI 

但它沒有工作。它拋出「java.lang.IllegalArgumentException:無效的查找ID」。

+0

該聯繫人的地址在「數據」表中。所以你必須使用ContactsContract.Data.CONTENT_URI來查找contact_Id,然後你可以在Contacts.CONTENT_LOOKUP_URI – BSKANIA

+0

中傳遞該ID,你也可以查看這個網站,也可以在android中使用不同的聯繫方式。 http://www.higherpass.com/Android/Tutorials/Working-With-Android-Contacts/ – BSKANIA

回答

0

感謝您的意見。這是我如何做的:

Cursor c = context.getContentResolver().query(Data.CONTENT_URI, new String[] { Data._ID, Data.DISPLAY_NAME, Data.PHOTO_THUMBNAIL_URI }, Data.DATA4 + "=?" + " AND " + Data.MIMETYPE + "='" + StructuredPostal.CONTENT_ITEM_TYPE + "'",new String[] { String.valueOf(streetAddress }, null); 

,並通過使用此光標,我們可以找到的姓名,照片或任何我們想要的。

if (c != null && c.moveToFirst()) { 
    String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
    String imageUri = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI)); 
} 
相關問題