2014-09-22 59 views
0

從我的聯繫人列表中選擇一個聯繫人後,它不會只獲得一個聯繫人,而是隻會獲得一個聯繫人。從Android應用程序中的聯繫人列表中獲取一個聯繫人

下面是我在做什麼,以獲取電話號碼:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

     if (resultCode == RESULT_OK) { 
      switch (requestCode) { 
      case CONTACT_PICKER_RESULT: 
       ContentResolver cr = getContentResolver(); 
       Cursor c = cr.query(ContactsContract.Contacts.CONTENT_URI, 
         null, null, null, null); 
       if (c.moveToFirst()) { 
        String id = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)); 
        Cursor phone = cr.query(Phone.CONTENT_URI,null,null,null,null); 
        while(phone.moveToNext()){ 
         String number = phone.getString(phone.getColumnIndex(Phone.NUMBER)); 
         int type = phone.getInt(phone.getColumnIndex(Phone.TYPE)); 
         this.numeros.add(number); 
        }     
       } 
       break; 
      } 
      this.mostarToast(this.numeros.size() + " contatos adicionados."); 
     } else { 
      // gracefully handle failure 
      Log.w("Erro", "Erro ao adicionar contato!"); 
     } 
    } 

的「mostrarToast」方法只顯示有多少接觸我選擇。但不是一個,它顯示了101個聯繫人。我怎樣才能選擇一個?

回答

0

我認爲那youre採摘,而不是單一的一個所有數字:

Cursor phone = cr.query(Phone.CONTENT_URI,null,ContactsContract.Contacts._ID+" = ?" ,new String[]{id},null); 

這將只接觸式ID獲取所有的數字,試試吧

+0

嗯......我試過,但它給了我0 results .... – 2014-09-22 22:25:28

+0

有些聯繫人可以沒有電話號碼,你可以嘗試與另一個。 – Eefret 2014-09-23 03:57:28

相關問題