Google 애플리케이션을 통해 연락처 앱을 푸시하고 새로운 수정 세부 정보로 애플리케이션으로 돌아 오는 방법 가능 여부가 궁금하십니까?Android - 애플리케이션을 통해 연락처 화면에 전화하는 방법
감사합니다.
Google 애플리케이션을 통해 연락처 앱을 푸시하고 새로운 수정 세부 정보로 애플리케이션으로 돌아 오는 방법 가능 여부가 궁금하십니까?Android - 애플리케이션을 통해 연락처 화면에 전화하는 방법
감사합니다.
여기에서 : How to call Android contacts list?
내가 질문을 질문하도록되어 무엇을 100 % 잘 모르겠지만, 다음 코드는 사용자가 연락처 목록 함수를 호출 '도움이 될 것입니다, 다음, 연락처를 선택 [로 복귀하여 ] app에 연락처의 이름을 입력하십시오.
이 과정에는 세 가지 단계가 있습니다.
1) 권한
은 응용 프로그램 매니페스트에 연락처 데이터를 읽을 수있는 권한을 추가합니다. 당신의 활동 내에서 연락처 선택 도구
를 호출
<uses-permission android:name="android.permission.READ_CONTACTS"/>
2), 연락처 URI의 항목에서 PICK 작업을 수행 할 수있는 활동을 찾을 수있는 시스템을 묻는 의도를 만들 수 있습니다. 이 텐트 (및 요청 코드의 정수이고,이 예에서는 PICK_CONTACT
) 전달
Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
통화 startActivityForResult
. 그러면 People.CONTENT_URI
에서 ACTION_PICK
을 지원하도록 등록 된 활동을 Android가 실행하게 한 다음 선택이 완료되거나 취소 될 때이 활동으로 돌아갑니다. 결과 액티비티에서 또한
듣기
startActivityForResult(intent, PICK_CONTACT);
3), 당신은 확인해야 2 단계에서 시작 활동 '연락처 선택'을의 반환을 수신 할 수있는 onActivityResult
메소드를 오버라이드 (override) 반환 된 요청 코드가 예상 한 값과 일치하고 결과 코드가 RESULT_OK
임을 확인합니다.
데이터 인 텐트 매개 변수에서 getData()
을 호출하여 선택한 연락처의 URI를 가져올 수 있습니다. 선택한 연락처의 이름을 얻으려면 해당 URI를 사용하여 새 쿼리를 만들고 반환 된 커서에서 이름을 추출해야합니다. 매니페스트에서
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndexOrThrow(People.NAME));
// TODO Whatever you want to do with the selected contact name.
}
}
break;
}
}
, 당신이 권한을 추가해야합니다
<uses-permission android:name="android.permission.READ_CONTACTS" />
다음 활동에서, 당신은 같은 것을 사용하는 것이 : 연락처를
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
}
이 질의를하고 도착 이드와 이름.
당신은 아마 연락처
Uri uri = Uri.parse(iduri);
i.setData(uri);
Intent i = new Intent(Intent.ACTION_EDIT);
i.setData(Uri.parse(ContactsContract.Contacts.CONTENT_LOOKUP_URI + "/" + id));
startActivityForResult(i, some_int_EDIT_CONTACT);
이상에 ACTION_EDIT
의도를 보낼
Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, read_id);
i.setData(contactUri);
startActivityForResult(i, some_int_EDIT_CONTACT);
당신이 접촉 ID를 가지고 가정
http://www.tutorialforandroid.com/2008 /12/display-contact-names-in-android.html 확인 – Andy