투케이2K

174. (AndroidStudio/android/java) TelephonyManager 사용해 PhoneNumber 내 전화번호 확인 실시 본문

Android

174. (AndroidStudio/android/java) TelephonyManager 사용해 PhoneNumber 내 전화번호 확인 실시

투케이2K 2021. 7. 20. 16:46

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java


[소스 코드]

/** =========== [TelephonyManager PhoneNumber 확인] =========== **/
public void getPhoneNumber() {
	Log.d("---", "---");
	Log.d("//===========//", "================================================");
	Log.d("", "\n" + "[A_Test_Java > getPhoneNumber() 메소드 : TelephonyManager PhoneNumber 확인 실시]");
	Log.d("//===========//", "================================================");
	Log.d("---", "---");

	/**
	 * [요약 설명]
	 * 1. TelephonyManager 를 사용해 단말기 정보를 가져올 수 있습니다
	 * 2. 필요 퍼미션 : [사전에 사용자로부터 퍼미션 인증을 모두 받아야 합니다]
	 * <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
	 * <uses-permission android:name="android.permission.READ_SMS"/>
	 * <uses-permission android:name="android.permission.READ_PHONE_NUMBERS"/>
	 * */

	try {
		//TODO [초기 변수 선언 실시]
		String PhoneNumber = "";


		//TODO [TelephonyManager 객체 생성 및 정보 가져오기]
		TelephonyManager telManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
		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) {
			//TODO [퍼미션이 부여되어있지 않은 경우 종료]
			Log.d("---", "---");
			Log.e("//===========//", "================================================");
			Log.d("", "\n" + "[A_Test_Java > getPhoneNumber() 메소드 : 퍼미션 부여 확인 실패]");
			Log.e("//===========//", "================================================");
			Log.d("---", "---");
			return;
		}
		PhoneNumber = String.valueOf(telManager.getLine1Number());


		//TODO [결과 출력 실시]
		Log.d("---", "---");
		Log.w("//===========//", "================================================");
		Log.d("", "\n" + "[A_Test_Java > getPhoneNumber() 메소드 : TelephonyManager PhoneNumber 확인 실시]");
		Log.d("", "\n" + "[PhoneNumber [전화 번호] : "+ PhoneNumber +"]");
		Log.w("//===========//", "================================================");
		Log.d("---", "---");
	}
	catch (Exception e){
		e.printStackTrace();
	}
}

[결과 출력]


반응형
Comments