0
입력 상자에서 연락처를 가져 오는 대화 상자가 표시됩니다. 내 코드는 다음과 같습니다.연락처 피커가 결과를 반환하지 않습니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toContacts = (EditText)findViewById(R.id.To);
toContacts.setOnClickListener(new EditText.OnClickListener(){public void onClick(View v){pickContacts();}});
}
public void pickContacts(){
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
}
public void onActivityResult(int reqCode, int resultCode, Intent data){
super.onActivityResult(reqCode, resultCode, data);
String name = "";
switch (reqCode) {
case (1) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
//@SuppressWarnings("deprecation")
Cursor c = null;
try{
//c = managedQuery(contactData, null, null, null, null);
c = getContentResolver().query(contactData, null, Contacts.DISPLAY_NAME, null, null);
if (c.moveToFirst()) {
name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
//String number = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
} catch(Exception e){
Log.e(DEBUG_TAG, "failed to get contacts data", e);
} finally {
if(c != null){
c.close();
}
EditText toSendContact = (EditText) findViewById(R.id.To);
toSendContact.setText(name);
}
}
break;
}
}
그러나 입력 된 결과가 입력 상자에 다시 표시되지 않습니다.