-
안드로이드 O (Oreo) 부터 autofill service 가 나타났다.
이 녀석은 user 가 신용카드 정보, login 정보, 주소, 전화번호 등의 개인정보를 쉽게 auto fill 하는 것을 도와준다.
-
이 autofill 은 framework 에서 자동으로 다 해주는 것은 아니다.
Settings -> System -> Language -> Advanced -> Autofill service 를 통해서 Autofill 을 관리할 service 를 지정할 수 있다.
기본 설정은 “Autofill with Google” 이다.
-
Autofill with Google 은 Chrome 61 이상이 설치되어 있다면 가능하다.
-
개발자들이 이걸 깊이 알아야 하는 이유가 있나?
아주 깊게까진 아니지만 알아야 하는 정보가 있다.
대부분의 경우는 Autofill service 가 적재적소에서 잘 작동한다.
하지만 제대로 작동 안 하는 케이스도 있을 수 있고, 우리가 의도적으로 어떤 autofill 을 시키고 싶을 수도 있다.
xml 에서는 android:autofillHints 를 지정해주면 되고,
코드로는 setAutofillHints() 를 호출해주면 된다.
값은 user name, password, email address, phone, postal address, postal code, credit card number 등등등이 있다.
View 에 있는 const 이니 해당 reference 를 확인해보면 되겠다.
https://developer.android.com/reference/android/view/View.html#setAutofillHints(java.lang.String...)
WebView 를 사용하는 경우에는 html 에 autocomplete attribute 를 넣어주면 된다.
https://developers.google.com/web/updates/2015/06/checkout-faster-with-autofill
-
AutoFill 이 작동하지 않길 바랄 수도 있다. 예를 들면 Captcha 와 같은 경우..
이 경우에는 setImportantForAutofill() 메소드를 통해서 IMPORTANT_FOR_AUTOFILL_NO 와 같은 옵션을 주면 된다.
매칭되는 xml 은 android:importantForAutofill 이다.
값은 auto, yes, no, yes exclude descendants, autofill, no exclude descendants 등이 있는데
이 옵션들 역시 view 에 있는 const 들을 사용하면 된다.
https://developer.android.com/reference/android/view/View.html#setImportantForAutofill(int)
-
물론 깊게 알아야 하는 경우도 있다.
Autofill Service 를 직접 개발하고 싶은 경우이다.
-
참고 자료
https://android-developers.googleblog.com/2017/11/getting-your-android-app-ready-for.html
https://developer.android.com/guide/topics/text/autofill.html#providing_hints_for_autofill
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Java] Semaphore 에 대해 알아보자. (0) | 2018.12.20 |
---|---|
Java bytecode 분석 (0) | 2018.12.19 |
[android] Robolectric tutorial (0) | 2018.12.08 |
[android] Mockito 맛보기 ( test library ) (2) | 2018.12.07 |
[android] Dagger2 tutorial part2 (0) | 2018.12.05 |
댓글