Контакты не будут отображаться в EditText - PullRequest
0 голосов
/ 09 декабря 2011

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

МОЙ ONCLICKLISTENER

 public void pickContact(View view) {  
        Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,  
                Contacts.CONTENT_URI);  
        startActivityForResult(contactPickerIntent, GET_CONTACT);  
    }

МОЙ STARTACTIVITYFORRULT

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

        if (resultCode == RESULT_OK) {  
            switch (requestCode) {  
            case GET_CONTACT:  
                Cursor cursor = null;  
                String Number = "";  
                try {  
                    Uri result = data.getData();  
                    Log.v(NOTIFICATION_SERVICE, "Got a contact result: "  
                            + result.toString());  

                    // 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 emailIdx = cursor.getColumnIndex(Phone.DATA);  

                    // let's just get the first email  
                    if (cursor.moveToFirst()) {  
                        Number = cursor.getString(emailIdx);  
                        Log.v(NOTIFICATION_SERVICE, "Got number: " + Number);  
                    } else {  
                        Log.w(NOTIFICATION_SERVICE, "No results");  
                    }  
                } catch (Exception e) {  
                    Log.e(NOTIFICATION_SERVICE, "Failed to get number data", e);  
                } finally {  
                    if (cursor != null) {  
                        cursor.close();  
                    }  
                     EditText mNumbers = (EditText)findViewById(R.id.editNumber);
                    mNumbers.setText(Number);  
                    if (Number.length() == 0) {  
                        Toast.makeText(this, "No number found for contact.",  
                                Toast.LENGTH_LONG).show();  
                    }  

                }  

                break;  
            }  

        } else {  
            Log.w(NOTIFICATION_SERVICE, "Warning: activity result not ok");  
        }  

 }  

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 31 января 2012

эй, вы не использовали никаких пакетов в вашем коде. Viz: Bundle extras = data.getExtras Для полной ссылки, проверьте сайт: http://mobile.tutsplus.com/tutorials/android/android-essentials-using-the-contact-picker/

0 голосов
/ 09 декабря 2011

Убедитесь, что вы добавили

<uses-permission android:name="android.permission.READ_CONTACTS" />

в манифест

...