본문 바로가기
Development/Android

[안드로이드] 전화, 연락처, 문자 등 각종 인텐트 사용법

by 푸민 2015. 10. 17.
반응형


안녕하세요 푸민입니다.

안드로이드에서 각종 커뮤니케이션을 인텐트를 이용해서 많이 하는데요. 이런 인텐트로 어떤것을 할 수 있는지 한번 알아보겠습니다,


1. 연락처 연결하기

- 폰의 연락처 기능을 사용하는 인텐트입니다.


. 연락처 조회

Intent intent = new Intent(Intent.ACTION_VIEWUri.parse("content://contacts/people/" + 

String.valueOf(contact.getId())));

startActivity(intent);


. 연락처 등록

Intent intent = new Intent(Intent.ACTION_INSERTUri.parse("content://contacts/people"));

startActivity(intent);


. 연락처 수정

Intent intent = new Intent(Intent.ACTION_EDITUri.parse("content://contacts/people/"         + String.valueOf(contact.getId())));

startActivity(intent);


. 연락처 삭제

Intent intent = new Intent(Intent.ACTION_DELETEUri.parse("content://contacts/people/"         + String.valueOf(contact.getId())));

startActivity(intent);



2. 전화 연결

- 전화 관련 연결해주는 인텐트입니다.


. 권한 설정

전화 걸기 : CALL_PHONE = "android.permission.CALL_PHONE"

긴급 통화 : CALL_PRIVILEGED = "android.permission.CALL_PRIVILEGED"

폰 상태 읽기 : READ_PHONE_STATE = "android.permission.READ_PHONE_STATE"

폰 상태 수정 : MODIFY_PHONE_STATE = "android.permission.MODIFY_PHONE_STATE"

브로드케스팅 수신 : PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS"

전화 걸기 이전 : ACTION_NEW_OUTGOING_CALL = "android.intent.action.NEW_OUTGOING_CALL"


. 전화걸기 화면

Intent intent = new Intent(Intent.ACTION_DIALUri.parse("tel:" + TelNumber));

startActivity(intent);


. 전화걸기

Intent intent = new Intent(Intent.ACTION_CALLUri.parse("tel:" + TelNumber));

startActivity(intent);



3. SMS 연결

- 문자 연결 인텐트입니다.


. 권한 설정

수신 모니터링 : RECEIVE_SMS = "android.permission.RECEIVE_SMS"

읽기 가능 : READ_SMS = "android.permission.READ_SMS" 

발송 가능 : SEND_SMS = "android.permission.SEND_SMS"

SMS Provider로 전송 : WRITE_SMS = "android.permission.WRITE_SMS"

: BROADCAST_SMS = "android.permission.BROADCAST_SMS"


. SMS 발송화면

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.putExtra("sms_body", "The SMS text");

intent.setType("vnd.android-dir/mms-sms");

startActivity(intent);


. SMS 보내기

Intent intent = new Intent(Intent.ACTION_SENDTOUri.parse("smsto://" + contact.getHandphone()));

intent.putExtra("sms_body", "The SMS text");

intent.setType("vnd.android-dir/mms-sms");

startActivity(intent);



4. 이메일 연결

- 이메일을 보내는 인텐트입니다.


. 이메일 발송 화면

Intent intent = new Intent(Intent.ACTION_SENDTOUri.parse("mailto:" + contact.getEmail()));

startActivity(intent);



5. 인터넷 브라우저 연결

- 인터넷 브라우저를 실행하는 인텐트입니다.


. 브라우저에서 URL 호출하기

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://fumin.tistory.com/"));

startActivity(intent);


. 브라우저 검색인텐트

Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);

intent.putExtra(SearchManager.QUERY, "검색어");

startActivity(intent);



6. 지도 연결

- 구글맵을 연결해주는 인텐트입니다.


. 지도보기

Uri uri = Uri.parse ("geo: 38.00, -35.03");

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

startActivity(intent);



7. 플레이스토어 연결

- 플레이스토어 연결하는 인텐트입니다.


. 스토어에서 apps 검색

Uri uri = Uri.parse("market://search?q=pname:전제_패키지_명");  

//--- 예) market://search?q=pname:com.fumin

Intent intent = new Intent(Intent.ACTION_VIEW, uri);  

startActivity(intent);  


. 스토어에서 app 의 상세화면

Uri uri = Uri.parse("market://details?id=전제_패키지_명");

//--- 예) market://details?id=com.fumin

Intent intent = new Intent(Intent.ACTION_VIEW, uri);  

startActivity(intent);


반응형

댓글