본문 바로가기
배달앱 개발일지

[안드로이드 버전 31] TelephonyManager로 휴대폰 번호 받아오기

by 우딬 2022. 12. 6.

이번 요구허용 기준이 많아졌다.

 

기존 

android.permission.READ_PHONE_NUMBERS

이거만 확인하면 휴대폰 번호 불러올 수 있었는데

 

변경후

android.permission.READ_PHONE_STATE

android.permission.READ_SMS

android.permission.READ_PHONE_NUMBERS

 

이런식으로 많이도 필요하네요.

또한 READ_SMS 요구조건을 걸게 되면 구글 콘솔에 이것저것 적어야해서 귀찮아지지만..

그리고 기존에 요구 허용 코드로는 허용하고 있는지 코드가 확인을 못한다.

그래서 아래와 같이 수정해 주어야 한다.

 

//기존 사용법
if(ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_PHONE_NUMBERS)
== PackageManager.PERMISSION_GRANTED){
...
}

//변경 사용법
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)

 

이런식으로 추가하기

 

    @Override
    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
    protected void onCreate(Bundle savedInstanceState) {
         TelephonyManager telManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
         String phoneNum = telManager.getLine1Number();
    }

 

댓글