Programming/Solution
[Android] 핸드폰 전화번호 가져오기: getLine1Number
코딩슬라임
2020. 11. 4. 22:29
애플리케이션에서 핸드폰 번호를 가져오기 위해서 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");