Android 11부터는 앱에서 전화번호를 읽어오기 위한 권한이 변경이 되었다.
developer.android.com/about/versions/11/privacy/permissions?hl=ko
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 |
---|