티스토리 뷰

 

 

 

[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

 

 

댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday
공지사항
최근에 올라온 글