무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유),
불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!
1. 단말기 정보 파악하기
•
안드로이드 애플리케이션에서 단말기의 정보가 필요할 경우 정보를 가져다 사용할 수 있다.
•
안드로이드 8.0 부터 단말기 일련번호, 유심 일련번호 등 단말기의 고유한 정보는 사용할 수 없다.
2. TelephonyManager
•
전화 기능과 관련된 정보를 가져올 수 있다.
•
전화번호 : line1Number
•
SIM 국가 코드 : simCountryIso)
•
모바일 국가코드 + 모바일 네트워크 코드 : simOperator)
•
서비스 이름 : simOperatorName)
•
SIM 상태(통신 가능 여부, PIN LOCK 여부) : simState)
•
음성 메일 번호 : voiceMailNumber)
3. Build
•
안드로이드 OS 및 시스템과 관련된 정보를 가져올 수 있다.
•
보드 이름 : Build.BOARD
•
소프트웨어를 커스터마이징한 제조사 : Build.BRAND
•
제조사 디자인명 : Build.DEVICE
•
사용자에게 표시되는 빌드 ID : Build.DISPLAY
•
빌드 고유 ID : Build.FINGERPRINT
•
ChangeList 번호 : Build.ID
•
제품/하드웨어 제조업체 : Build.MANUFACTURER
•
제품 모델명 : Build.MODEL
•
제품명 : Build.PRODUCT
•
빌드 구분 : Build.TAGS
•
빌드 타입 : Build.TYPE
•
안드로이드 버전 : Build.VERSION.RELEASE
4. 단말기 해상도 정보
•
안드로이드 11 버전 부터 코드가 달라졌다.
val wm = getSystemService(WINDOW_SERVICE) as WindowManager
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R){
val matrix = wm.currentWindowMetrics
val width = matrix.bounds.width()
val height = matrix.bounds.height()
textView.append("width : $width\n")
textView.append("height : $height\n")
} else {
val display = wm.defaultDisplay
val point = Point()
display.getSize(point)
textView.append("width : ${point.x}\n")
textView.append("height : ${point.y}\n")
}
Kotlin
복사
5. 학습 정리
정리
•
안드로이드는 단말기에 관련된 정보를 개발자에게 제공하고 있다.