2011-08-20 109 views
0

我正在嘗試讓用戶從他的聯繫人列表中選擇一位聯繫人,以便我可以對該號碼進行一些處理。我的代碼啓動列表採摘活動讓用戶挑選聯繫人並獲取聯繫人的手機號碼

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, 
      Contacts.Phones.CONTENT_URI); 
    startActivityForResult(contactPickerIntent, PICK_CONTACT); 

和我接收代碼

@Override 
public void onActivityResult(int reqCode, int resultCode, Intent data) { 
    super.onActivityResult(reqCode, resultCode, data); 

    switch (reqCode) { 
    case (PICK_CONTACT) : 
     if (resultCode == Activity.RESULT_OK) { 

      Bundle extras = data.getExtras(); 
      Set<String> keys = extras.keySet(); 
      Iterator<String> iterate = keys.iterator(); 
      while (iterate.hasNext()) { 
       String key = iterate.next(); 
       Log.v(TAG, key + "[" + extras.get(key) + "]"); 
      } 
      Uri result = data.getData(); 
      Log.v(TAG, "Got a result: " 
       + result.toString()); 
     } 
    break; 
    } 
} 

但演員束不具有任何姓名或電話號碼。我怎樣才能得到用戶選擇的結果?

回答

1

getData()調用包含可以打開遊標的Uri。請嘗試以下操作:

Uri resultUri = data.getData(); 
    Cursor cursor = managedQuery(resultUri, null, null, null, null); 
    if (cursor.moveToFirst()) { 
     // Found results process cursor 
    } 
+0

酷!有沒有辦法獲得光標中包含的數據列表? – Jeffrey

+0

謝謝!這與以下工作有關: \t \t \t \t \t String name = cursor.getString(cursor.getColumnIndexOrThrow(People.NUMBER)); – Jeffrey