애플리케이션에서 핸드폰 번호를 가져오기 위해서 TelephonyManager의 getLine1Number()를 사용하면 된다.
하지만 AndroidMenifest에서 uses-permission을 다음과 같이 적고
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
permission도 다음과 같이 체크했음에도 불구하고 앱이 정상적으로 작동하지 않았다.
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.READ_PHONE_STATE,
android.Manifest.permission.READ_PHONE_NUMBERS
}
이럴 땐, @SuppressLint("MissingPermission")을 다음과 같이 사용하면 된다.
@SuppressLint("MissingPermission") String mobile = TelephonyManager.getLine1Number(); //전화번호
if (mobile.startsWith("+82"))
mobile = mobile.replace("+82", "0");
'Programming > Solution' 카테고리의 다른 글
[PHP] isset과 empty의 차이: Database (0) | 2020.12.09 |
---|---|
[Android] 외부 저장소 접근: FileNotFoundException (0) | 2020.11.05 |
[Bitbucket] fatal: Could not read from remote repository: Mac (0) | 2020.11.02 |
[Github] 깃허브 README.md나 위키에 이미지 추가하기: 이슈 (0) | 2020.10.09 |
[C] free한 포인터를 이용한 데이터 접근 (0) | 2020.10.07 |