2012-03-02 2 views
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; 

} 

} 

} 
+0

게시 한 코드에 특별한 문제가 있습니까? – Shellum

+0

잘 작동하지 않습니다. 나는 인 텐트에서 혼란스러워했다. –

답변

1

를 좀 도와 주 시겠어요, 이름과 전화 번호는 문자열로 인 텐트 데이터에서 가져온 있습니다. 활동을 시작하기 위해 작성한 인 텐트의 추가 활동으로 다음 활동으로 전달할 수 있습니다.

관련 문제