일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- englishwriting
- dataframe
- ruby
- e-mailwriting
- 다우산업
- Python
- 화승엔터프라이즈
- 네마녀의날
- android
- S&P
- 무역전쟁
- Java
- 어학·외국어
- 금리인상
- toeice-mail
- 토익이메일
- 주식시황
- 영어메일쓰기
- 트럼프
- 사드보복완화
- 국제유가
- 나스닥
- 시황
- 셀트리온
- 다우
- 파이썬
- Intent
- LG전자
- 영어메일
- 안드로이드
- Today
- Total
Developer MJ Story
[Andorid/Intent] Intent로 Android check box 주소록 call 하고 선택한 주소 return 받기 본문
[Andorid/Intent] Intent로 Android check box 주소록 call 하고 선택한 주소 return 받기
집근처 2014. 6. 9. 11:54- Android phone 내에 저장되어 있는 주소는 주소록 DB에 직접 query를 날려 알오는 방법이 있지만, 매우~~~ 귀찮은 방법이고, 코드이도 상당
- 간단하게 intent로 android phone에 저장 되어있는 주소록을 call 할 수 있음
- Source Code
private static final int Select_Multi_Contact = 1;
Intent intent = new Intent("com.android.contacts.action.MULTI_TAB_CONTENTS");
intent.setType(Phone.CONTENT_TYPE);
intent.putExtra("com.android.contacts.extra.FUNC_CODE", "getRecipient");
intent.putExtra("com.android.contacts.extra.ENABLE_ONLINESEARCH", true);
startActivityForResult(intent, Select_Multi_Contact);
- startActivityForResult()에 Select_Multi_Contact는 사용자가 check한 주소 값을 받아오기 위해 할당
- Select_Multi_Contact값에 따로 할당하여 onActivityResult()에서나 헛갈림 방지와 코드 reading 효율을 높임
- 위의 코드를 실행 시키면 아래와 같이 check box가 있는 주소록 activity를 호출
- <span style="LINE-HEIGHT: 1.42em" >
Check box에 check된 주소 값을 onActivityResult()에서 받아옴- Source Code
publicvoid onActivityResult(int requestCode, int resultCode, Intent intent){
super.onActivityResult(requestCode, resultCode, intent);
switch(requestCode){
caseSelect_Multi_Contact:
ArrayList<String> memberNumbers = new ArrayList<String>();
ArrayList<String> memberName = new ArrayList<String>();
memberNumbers = intent.getStringArrayListExtra("com.android.contacts.extra.numberList");
memberName = intent.getStringArrayListExtra("com.android.contacts.extra.nameList");
ArrayList<String> Members = new ArrayList<String>();
int i = 0;
for(String Temp : memberName){
Members.add("Name : "+Temp+"\r\nPhone Number : "+memberNumbers.get(i));
i++;
}
ArrayAdapter<String> Adapter;
Adapter = new ArrayAdapter<String>(FNActivity.this, android.R.layout.simple_list_item_1, Members);
ListView list = (ListView)findViewById(R.id.listview);
list.setAdapter(Adapter);
}
}
- 'intent.getStringArrayListExtra("com.android.contacts.extra.numberList");'로 check 된 사용자의 phone number를 받아옴
- 'intent.getStringArrayListExtra("com.android.contacts.extra.nameList")'로 checck된 사용자의 이름을 받아옴
- 받아온 사용자의 이름과 phone number를 저장할 Members라는 String arrayList를 생성하고 for문을 이용하여 이름과 phone number를 저장
- 사용자의 이름과 phone number를 저장할 listview의 adapter를 선언하고 listview를 선언하고 adapter를 등록하여 Members에 저장된 이름과 phone number를 listview에 display
- listview를 사용하기 위해서 androidMannifest.xml에 listview를 선언하는 건 당연한 것이므로 생략
'Software > Android' 카테고리의 다른 글
[Android/Intent] Broadcast Receiver(activity와 다른 class)에서 intent로 Activity call하기 (0) | 2014.06.09 |
---|---|
[Android/SMS] Android에서 code로 SMS 보내고 받기 (0) | 2014.06.09 |
[Android/Java] colon(:)을 이용한 Enhanced for loop (0) | 2014.06.09 |
[Android/Thread] runnable()을 이용한 간단한 thread 구현 (0) | 2014.06.09 |
[Android/Intent] 다른 Application의 Activity call 하는 방법 (0) | 2014.06.09 |