티스토리 뷰
Java
[Android/Java] 안드로이드 기기 정보에서 핸드폰 번호(전화번호) 받아오기 | android.permission.READ_PHONE_STATE | How to get phone number in android
Jingni 징니 2021. 3. 14. 03:38
[Android/Java]
안드로이드 기기 정보에서 핸드폰 번호(전화번호) 받아오기
(How to get phone number in android)
안드로이드 앱 개발 시, 유저의 핸드폰 번호가 필요할 때
서버의 DB 정보나 유저가 핸드폰 번호를 입력하지 않아도 핸드폰 번호를 가져올 수 있다는 것,
알고 계신가요?
물론 보안적으로 좋다고 말할 수는 없지만,
이번에 진행하고 있는 프로젝트에서 핸드폰 번호가 필요해서 혹시 하고 방법을 찾아보게 되어 공유합니다!
1. AndroidManifest.xml 에 Permission 추가
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
2. Method 추가
public String getPhoneNumber() {
String phoneNumber = "";
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
try {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
} else {
checkPermissions();
}
String tmpPhoneNumber = telephonyManager.getLine1Number();
phoneNumber = tmpPhoneNumber.replace("+82", "0");
} catch (Exception e) {
phoneNumber = "error";
e.printStackTrace();
}
return phoneNumber;
}
- 로그를 찍어보니 위의 코드로 핸드폰 번호를 잘 받아올 수 있었어요 !
- permission check때문에 조금 애를 먹었지만,,, 특별히 저 코드까지 있는 예제가 없더라구요...!!
- CheckPermission() 함수는 만약 permission 허용이 안되어 있는지 체크하고, 권한 허용하도록 하는 함수입니다. 따로 코드를 포함시키진 않겠습니다. 혹시 필요하면 댓글 달아주세요!
✨ Reference ✨
https://devjo9.tistory.com/m/20
'Java' 카테고리의 다른 글
[Android/Java] Android Splash Activity 사용 방법 | Splash Activity 예제 코드 | 안드로이드 로딩 화면 구현하기 (0) | 2020.12.05 |
---|
댓글