회사에서 안드로이드 기기의 SIM에서 사용자의 휴대폰번호를
읽어 본인확인하는 아이오닉으로 만들어진 앱이 있었는데요
안드로이드 10부터는 구글의 개인정보 보호 정책 변경으로 IMEI, 디바이스 고유 ID등을 사용할 수 없게되어
플러그인 동작에 에러가 나더군요.
developer.android.com/about/versions/10/privacy/changes?hl=ko#non-resettable-device-ids
Android 10의 개인정보 보호 변경사항 | Android 개발자 | Android Developers
Android 10(API 레벨 29)에는 사용자의 개인정보 보호 강화를 위해 많은 기능과 동작 변경사항이 도입되었습니다. 따라서 사용자가 앱에 제공하는 데이터와 기능을 더욱 투명하고 세밀하게 제어할
developer.android.com
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
kitrio/cordova-plugin-sim
:cherries: A cordova plugin to get the device's SIM data (carrier name, mcc mnc, country code, telephonenumber, etc) - kitrio/cordova-plugin-sim
github.com
다만 안드로이드 11부터는 다른권한이 필요합니다.
바로 READ_PHONE_STATE 권한 대신 READ_PHONE_NUMBERS 권한을 요청해야 합니다.
developer.android.com/about/versions/11/privacy/permissions?hl=ko
Android 11의 권한 업데이트 | Android 개발자 | Android Developers
Android 11에서는 사용자가 위치, 마이크, 카메라에 관해 더욱 세분화된 권한을 지정할 수 있습니다. 또한 시스템은 Android 11 이상을 타겟팅하는 사용하지 않는 앱의 권한을 재설정하며 앱은 시스
developer.android.com
전화번호 항목을 보시면 자세히 나와있습니다.
+ 안드로이드 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 |