Contact


Contact 는 HSP 에서 기본으로 제공하는 API 로 연락처 정보를 추가하거나 불러오는 기능을 제공한다.
AndroidManifest.xml 내 uses-permission 을 추가하면 사용 가능 하다.

Example

<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>

Contact 는 Android 에서 제공하는 Contact 기능의  Wrapper class 이며 주소록 추가, 삭제, 찾기 기능을 지원 한다. 

런타임 퍼미션이 필요한 API 는 아래와 같이 사용 가능 하다. 

PermissionUtils.checkPermissions(PermissionParams.builder()
    .permission(Manifest.permission.YOU_WANT_PERMISSION)
    .activity(activity)
    .listener((reqCode, result) -> {
        if (!result) {
            TODO

            return ;
        }

        TODO
    })
    .build());


add

add 는 주소록 정보를 추가하는 기능이다. 이때 사용자 이름, 이메일주소, 전화번호를 입력할 수 있다. 

이때 주소록 데이터를 입력하기 위해서는 아래 AddContact 클래스를 이용하여 데이터를 입력해야 하며 각각의 정보는 하단의 표를 참조 한다. 

AddContact Class

public static class AddContact implements Serializable {
   private String firstName;
   private String lastName;
   private String email;
   private String mobile;
   private String work;
   private String home;
}

AddContact

파라미터설명
firstName이름
lastName
email이메일 주소
mobile핸드폰 번호
work회사 전화 번호
home집 전화 번호
  

Example

val contact = DAPContact.AddContact().apply {
    firstName = "길동"
    lastName  = "홍"
    email     = "test@test.net"
    mobile    = "01012341234"
}

// 3.10.18 이상
DAPContact.add(activity, contact, {
   // TODO
}) {
   // TODO
}

// 3.10.18 이하
DAPContact.add(activity, contact)
DAPContact.AddContact contact = new DAPContact.AddContact();
contact.setFirstName("길동");
contact.setLastName("홍");
contact.setEmail("test@test.net");
contact.setMobile("01012341234");

// 3.10.18 이상
DAPContact.add(MainActivity.this, contact, result -> {
       // TODO
   }, e -> {
       // TODO
   });

// 3.10.18 이하
DAPContact.add(MainActivity.this, contact);

remove

remove 는 등록되어 있는 주소록을 삭제하는 기능이다. 삭제할 기준 값은 find 를 통해 얻은 id 값으로 삭제 할 수 있다. 

Example

val id = "1"    // find 로 얻은 값

// 3.10.18 이상
DAPContact.remove(activity, id, {
       // TODO
   }) {
       // TODO
   }

// 3.10.18 이하
DAPContact.remove(activity, id)
String id = "1";    // find 로 얻은 값

// 3.10.18 이상
DAPContact.remove(MainActivity.this, id, result -> {
       // TODO
   }, e -> {
       // TODO
   });

// 3.10.18 이하
DAPContact.remove(MainActivity.this, id);

find

find 는 등록되어 있는 주소록에 전화번호, 이름, 이메일 주소를 이용하여 원하는 주소록을 얻을 수 있다. 

Example

val searchWord = "홍"

// 3.10.18 이상
DAPContact.find(activity, true, searchWord, {
       // TODO
   }) {
       // TODO
   }

// 3.10.18 이하
val contactList = DAPContact.find(activity, true, searchWord)
String searchWord = "홍";

// 3.10.18 이상
DAPContact.find(MainActivity.this, true, searchWord, result -> {
       // TODO
   }, e -> {
       // TODO
   });

// 3.10.18 이하
List<ContactData> contactList = DAPContact.find(MainActivity.this, true, searchWord);