애플리케이션에서 핸드폰 번호를 가져오기 위해서 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 (11) | 2020.12.09 |
|---|---|
| [Android] 외부 저장소 접근: FileNotFoundException (11) | 2020.11.05 |
| [Bitbucket] fatal: Could not read from remote repository: Mac (9) | 2020.11.02 |
| [Github] 깃허브 README.md나 위키에 이미지 추가하기: 이슈 (10) | 2020.10.09 |
| [C] free한 포인터를 이용한 데이터 접근 (11) | 2020.10.07 |