CHAP 21. 전화, SMS, 주소록
인텐트를 사용한 전화걸기
예제
인텐트를 이용한 문자보내기
실행결과
전화상태얻기 TelephonyManager 클래스가 제공 메소드 설명 int getCallState() 전화 상태를 나타내는 상수를 반환한다. CALL_STATE_IDLE(대기 상태) , CALL_STATE_OFFHOOK(다이얼링 또는 통화) , CALL_STATE_RINGING(전화벨 울림) 중의 하나를 반환한다. int getDataState() 데이터 전송 상태를 반환한다. String getDeviceId() 장치 아이디를 반환한다. int getNetworkType() 네트워크 타입을 반환한다. int getPhoneType() 전화기 타입을 반환한다. boolean isNetworkRoaming() 로밍 상태를 반환한다.
예제 전화상태가 변경되면 호출된다.
코드 작성
실행 결과
주소록 주소록(contacts)은 연락처들이 저장된 데이터베이 스 중복 데이터를 통합하는 기능을 가지고 있다. 안드로이드는 주소록을 콘텐트 제공자 형식으로 애 플리케이션에게 공개
주소록의 구조 버전 2.0부터 주소록은 Contacts, RawContacts, Data 등의 3개의 테이블을 사용
통합 연락처 생성 과정
ContactsContract 클래스 연락처 제공자를 사용하는데 필요한 URI와 테이블 의 컬럼에 대한 정의를 가지고 있다.
Contact Manager 예제
실행결과 연락처의 이름만 출력
전화 번호나 이메일 주소를 출력하려면 연락처의 전화 번호나 이메일 주소 같은 데이터는 Data 테이블에 존재 Contacts 테이블의 _ID로 검색 배열을 생성하고 초기화할 때 new String[] { … }의 구문 사용
Data 테이블에 저장된 정보 StructuredName.CONTENT_ITEM_TYPE Phone.CONTENT_ITEM_TYPE Email.CONTENT_ITEM_TYPE Photo.CONTENT_ITEM_TYPE Organization.CONTENT_ITEM_TYPE Nickname.CONTENT_ITEM_TYPE Note.CONTENT_ITEM_TYPE …
예제
실행결과
연락처 추가 ContentValue 객체를 생성하고 RawContacts 테이블 에 레코드를 추가한다.
연락처 갱신
연락처 삭제