2014-11-09 70 views
0

好的,所以我經歷的這本書讓我給某個特定的人打電話。如何從Android中的特定聯繫人獲取電話號碼?

我可以找回聯繫人就好了,這是整個「獲取聯繫人ID找到電話號碼位」,我遇到了麻煩。

每當我選擇一個聯繫人時,該應用程序崩潰。

我想我不確定如何正確導航到聯繫人ID。

我對Android相當新,現在我只是完全失去了,我無法在這裏找到解決方案,幫助我。

相關代碼:

}else if(requestCode == REQUEST_CONTACT) { 
     Uri contactsURI = data.getData(); 

     String[] queryFields = new String[]{ 
       ContactsContract.Contacts.DISPLAY_NAME 
     }; 


     //Perform your query - the contactURI is like a "where" 
     //clause here 
     Cursor c = getActivity().getContentResolver().query(contactsURI, queryFields, null, null, null); 


     //Double-check that you actually got results 
     if (c.getCount() == 0) { 
      c.close(); 
      return; 
     } 
     contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)); 

     //Pull out the first column of the first row of data 
     //that is your suspects name 
     c.moveToFirst(); 

     String suspect = c.getString(0); 


     mCrime.setmSuspect(suspect); 
     mSuspectButton.setText(suspect); 
     c.close(); 

    } 



} 

我崩潰,因爲上面這部分代碼的:

contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)); 
+0

logcat中的錯誤是什麼 – 2014-11-09 00:28:23

+0

它說光標越界索引。 – MrTimotheos 2014-11-09 01:05:42

+0

看到我的答案在下面,檢查它是否有效。 – 2014-11-09 07:37:48

回答

0

你必須首先調用

c.moveToFirst(); 

然後

contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)) 
相關問題