2011-12-09 57 views
0

我有一个应用程序应该将联系人电话号码调用到指定的EditText视图中。我有调用联系人选择器的按钮,它工作正常,但是当我点击它时,它不会将我想要的信息添加到视图中。联系人不会显示到EditText

MY ONCLICKlISTENER

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

MY STARTACTIVITYFORRESULT

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"); 
     } 

} 

感谢您的帮助。

回答

0

请务必添加

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

到您的清单

+0

我在那里添加了 – Christian