2014-03-01 83 views
0

我看到很多線程來訪問聯繫人從address book,但除了namenumber,我想訪問其他詳細信息,如 - city, state, country, postal code的人。我試過這段代碼,但其他的東西都是空的。尋找從地址簿中選擇的城市,國家,郵政編碼

   Cursor c = null; 
       try 
       { 
        Uri uri = data.getData(); 
        c = getContentResolver().query(uri, new String[] 
          { 
           ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, 
           ContactsContract.CommonDataKinds.Phone.NUMBER, 
           ContactsContract.CommonDataKinds.StructuredPostal.CITY, 
           ContactsContract.CommonDataKinds.StructuredPostal.STREET, 
           ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY }, 
          null, null, null); 

        if (c != null && c.moveToFirst()) 
        { 
         name = c.getString(0); 
         String number = c.getString(1); 
         city = c.getString(2); 
         street = c.getString(3); 
         country = c.getString(4); 
        Log.e("contactData...", name + ", " + street + ", " + number + ", " + city + ", " + country); 
        } 
       } 
       finally 
       { 
        if (c != null) 
        { 
         c.close(); 
        } 
       } 
+0

請參閱這裏: - http://stackoverflow.com/questions/18181204/when-i-select-contact-name-and-address-from-contact-list-address-data-not-retrie – Sachchidanand

回答

0

如果聯繫人沒有任何地址值,那麼你不能得到任何東西,但空。快速查看它,你的代碼看起來很好。用設置了地址的聯繫人進行測試。你不能指望手機只是隨機拿出用戶的地址,你能嗎?

在應用程序中使用此應用程序的一個問題是許多用戶不會填寫除名稱,電話號碼或電子郵件以外的任何內容。在嘗試使用該值之前,最好檢查地址是否爲空。

+0

謝謝你回答,我試着上面的代碼,該聯繫人有完整的地址詳細信息,但它只給我名字和號碼。 –

相關問題