0
인터넷에서 코드를 얻었습니다. 아래 코드는 연락처를 선택하여 표시하는 코드입니다. 다음 ACTIVITY에서 그 사람의 이름과 전화 번호를 표시하고 싶습니다. 유 ....이 함께하여 onActivityResult 방법에다음 활동의 연락처 검색
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.TextView;
public class Contacts_PickerActivity extends Activity
{
private TextView tv;
private static final int CONTACT_PICKER = 1;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
tv = new TextView(this);
setContentView(tv);
Intent intent = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, CONTACT_PICKER);
}
public void onActivityResult(int reqCode, int resultCode, Intent data)
{
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode)
{
case CONTACT_PICKER:
if (resultCode == Activity.RESULT_OK)
{
StringBuilder sb = new StringBuilder();
Uri contactData = data.getData();
Cursor contactsCursor = managedQuery(contactData, null, null, null, null);
if (contactsCursor.moveToFirst())
{
String id = contactsCursor.getString(contactsCursor
.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String name = contactsCursor.getString(contactsCursor
.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
String hasPhoneNumber = contactsCursor.getString(contactsCursor
.getColumnIndexOrThrow(ContactsContract.Contacts.HAS_PHONE_NUMBER));
sb.append("You picked: " + name + "\n");
if (Integer.parseInt(hasPhoneNumber) > 0)
{
Uri myPhoneUri = Uri.withAppendedPath(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, id);
Cursor phoneCursor = managedQuery(
myPhoneUri, null, null, null, null);
for (phoneCursor.moveToFirst(); !phoneCursor.isAfterLast(); phoneCursor.moveToNext())
{
String phoneNumber = phoneCursor.getString(phoneCursor
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));
sb.append("Phone: " + phoneNumber + "\n");
}
}
else
{
sb.append("This contact doesn't have a phone number");
}
tv.setText(sb.toString());
}
}
break;
}
}
}
게시 한 코드에 특별한 문제가 있습니까? – Shellum
잘 작동하지 않습니다. 나는 인 텐트에서 혼란스러워했다. –