회사에서 안드로이드 기기의 SIM에서 사용자의 휴대폰번호를
읽어 본인확인하는 아이오닉으로 만들어진 앱이 있었는데요
안드로이드 10부터는 구글의 개인정보 보호 정책 변경으로 IMEI, 디바이스 고유 ID등을 사용할 수 없게되어
플러그인 동작에 에러가 나더군요.
developer.android.com/about/versions/10/privacy/changes?hl=ko#non-resettable-device-ids
android 10 에서 문제가 되는 코드입니다.
deviceId = manager.getDeviceId(simSlotIndex);
디바이스 ID를 찾고있으니 안되는거죠
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M && android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.Q) {
deviceId = manager.getDeviceId(simSlotIndex);
}
안드로이드 9이하에서 되게끔 추가하면
sim에서 휴대폰 번호를 읽어오는 부분은 안드로이드 10까지는 잘됩니다.
해당 플러그인 git에 풀리퀘스트로 올라온거 적용해서 저장했네요
github.com/kitrio/cordova-plugin-sim
다만 안드로이드 11부터는 다른권한이 필요합니다.
바로 READ_PHONE_STATE 권한 대신 READ_PHONE_NUMBERS 권한을 요청해야 합니다.
developer.android.com/about/versions/11/privacy/permissions?hl=ko
전화번호 항목을 보시면 자세히 나와있습니다.
+ 안드로이드 12 문서를 살펴보는데 안드로이드 12에서도READ_PHONE_NUMBERS 권한있으면
사용자번호 불러오는거 가능합니다.
'안드로이드' 카테고리의 다른 글
안드로이드 ID 가 변경되는 조건들 (android id) 정리 (4) | 2021.04.14 |
---|---|
Q슬라이드 되는 Q웹뷰 2.0.9 업데이트 (0) | 2020.03.24 |
안드로이드 GeckoView 사용시 화면 번쩍일때 (0) | 2020.01.06 |
Q웹뷰 에서 메뉴 레이아웃 제대로 안뜰때 해결법 (0) | 2019.12.03 |
Q슬라이드 인터넷 되는 간단 웹뷰 어플 - Q웹뷰 (0) | 2019.11.14 |