투케이2K

98. (AndroidStudio/android/java) ContactsContract 사용해 연락처 등록창 호출 및 데이터 전송 후 저장 실시 본문

Android

98. (AndroidStudio/android/java) ContactsContract 사용해 연락처 등록창 호출 및 데이터 전송 후 저장 실시

투케이2K 2021. 3. 31. 12:36
반응형

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

//TODO ================== [사용자 휴대폰 주소록 호출 및 데이터 전달 메소드] =========================
public void addressAdd(){
	try {

		/** [퍼미션 : 주소록에 연락처를 저장하기 위함]
		 * <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
		 * <uses-permission android:name="android.permission.READ_CONTACTS"/>
		 * */

		/** [일반 연락처 등록창 호출 실시]
		 Intent phone = new Intent(Intent.ACTION_INSERT,Uri.parse("content://contacts/people"));
		 phone.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
		 startActivity(phone);
		 */

		/** [연락처 등록창 호출 및 데이터 전송 실시] */
		Intent intent = new Intent(ContactsContract.Intents.Insert.ACTION);
		intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
		intent.setType(ContactsContract.RawContacts.CONTENT_TYPE);
		intent.putExtra(ContactsContract.Intents.Insert.NAME, "홍길동") //TODO 이름
				.putExtra(ContactsContract.Intents.Insert.JOB_TITLE, "대리") //TODO 직함
				.putExtra(ContactsContract.Intents.Insert.EMAIL, "hong@naver.com") //TODO 이메일
				.putExtra(ContactsContract.Intents.Insert.EMAIL_TYPE, ContactsContract.CommonDataKinds.Email.TYPE_OTHER) //TODO 이메일 라벨 기타
				.putExtra(ContactsContract.Intents.Insert.PHONE, "010-1234-5678") //TODO 전화번호
				.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE); //TODO 전화번호 라벨 휴대전화
		startActivity(intent);
	}
	catch (Exception e){
		e.printStackTrace();
	}
}

/* =========================== */

[결과 출력]

/* =========================== */

반응형
Comments