Android

[android] Android 11에서 전화번호 읽기 권한

장일규 2023. 7. 9. 03:31

Android 11부터는 앱에서 전화번호를 읽어오기 위한 권한이 변경이 되었다.

developer.android.com/about/versions/11/privacy/permissions?hl=ko

 

Android 11의 권한 업데이트  |  Android 개발자  |  Android Developers

Android 11의 권한 업데이트 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 11에서는 사용자가 위치, 마이크, 카메라에 관해 더욱 세분화된 권한을 지정

developer.android.com



 

Android 11 (API 30) 이상 타겟팅을 하고 있다면  READ_PHONE_STATE 말고 READ_PHONE_NUMBERS 권한을 요청해야 함

 

AndroidManifest.xml에 전화번호를 읽어오기 위한 권한을 선언하자!

<uses-permission android:name="android.permission.READ_PHONE_STATE" 
	android:maxSdkVersion="29"/>
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />

 

 

    public boolean checkPermission() {
        if (ContextCompat.checkSelfPermission(this,
                Build.VERSION.SDK_INT >= Build.VERSION_CODES.R ? Manifest.permission.READ_PHONE_NUMBERS : Manifest.permission.READ_PHONE_STATE)
                != PackageManager.PERMISSION_GRANTED) {
            String[] permissions = new String[] {
                    Build.VERSION.SDK_INT >= Build.VERSION_CODES.R ? Manifest.permission.READ_PHONE_NUMBERS : Manifest.permission.READ_PHONE_STATE,
                    Manifest.permission.READ_EXTERNAL_STORAGE,
                    Manifest.permission.CAMERA
            };
            ActivityCompat.requestPermissions(this, permissions, 0);
            return false;
        }
        return true;
    }

'Android' 카테고리의 다른 글

[android] Android 6.0 권한 관리  (0) 2023.07.09