Запрос к базе данных контактов для номера телефона и обработки нескольких номеров - PullRequest
1 голос
/ 27 февраля 2011

Я хочу запросить в базе данных контактов номер телефона, и если выбранный контакт имеет несколько номеров, я отображаю доступные номера, чтобы пользователь мог выбрать один из них. У меня есть код, который бы взял номер выбранного контакта по умолчанию.

Cursor cursor = null;  
                String phoneNumber = "";  
                try 
                {  
                     Uri result = data.getData();          
                     // get the contact id from the Uri  
                     String id = result.getLastPathSegment();  

                     // query for everything email  
                     cursor = getContentResolver().query(Phone.CONTENT_URI,  
                             null, Phone.CONTACT_ID + "=?", new String[] { id },  
                             null);  

                     int pNumberIdx = cursor.getColumnIndex(Phone.NUMBER);  

                     // let's just get the first email  
                     if (cursor.moveToFirst()) 
                     {  
                         phoneNumber = cursor.getString(pNumberIdx);  
                     } 
                 } 
                catch (Exception e) 
                {  

                } 
                finally 
                {  
                     if (cursor != null) 
                     {  
                         cursor.close();  
                     }  
                     EditText emailEntry = (EditText) findViewById(R.id.pNumber);  
                     emailEntry.setText(phoneNumber);  
                     if (phoneNumber.length() == 0) 
                     {  
                         Toast.makeText(this, "No number found for contact.",  
                                 Toast.LENGTH_LONG).show();  
                     }  
                 }  
...