지난 글에 이어서 로그를 남기는데 사용했던 디바이스 정보를 가져오는 함수들을 기록해 두려고 한다.
1. 디바이스 모델 명, OS 버전, Api level 정보 가져오기
fun getOSVersion(): String {
val deviceModel = Build.MODEL
val version = Build.VERSION.RELEASE
val sdkInt = Build.VERSION.SDK_INT
return "Device Model: $deviceModel, OS Version: $version(Api level: $sdkInt)"
}
2. 디바이스 배터리 정보(잔여량) 가져오기
fun getBatteryLevel(context: Context): String {
val batteryStatus: Intent? = IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter ->
context.registerReceiver(null, ifilter)
}
val level: Int = batteryStatus?.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) ?: -1
val scale: Int = batteryStatus?.getIntExtra(BatteryManager.EXTRA_SCALE, -1) ?: -1
val batteryPct = level / scale.toFloat() * 100
return "Battery Level: ${batteryPct.toInt()}%"
}
3. 디바이스 메모리 사용량과 총용량 가져오기
fun getDeviceMemoryUsage(context: Context): String {
val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
val memoryInfo = ActivityManager.MemoryInfo()
activityManager.getMemoryInfo(memoryInfo)
val availableMemory = memoryInfo.availMem / (1024 * 1024)
val totalMemory = memoryInfo.totalMem / (1024 * 1024)
val usedMemory = totalMemory - availableMemory
val usedPct = usedMemory / totalMemory.toFloat() * 100
return "Used Percent: ${usedPct}%, Used Memory: ${usedMemory}MB, Total Memory: ${totalMemory}MB"
}
히히 이거 전부 로그로 남겨도 문제 파악 못하면 나 죽어!
DNS 오류 잡아보겠다고 별걸 다하는 중이네
'Android > Troubleshooting' 카테고리의 다른 글
The compiler option dagger.hilt.android.internal.projectType is not a recognized Hilt option. Is there a typo? 오류 (0) | 2024.04.09 |
---|---|
Compose Preview 오류 (0) | 2024.01.24 |
사용 중인 네트워크의 타입 파악하기 (0) | 2024.01.15 |
안드로이드 인터넷 연결상태 체크: HttpURLConnection 객체 이용 (1) | 2024.01.06 |
Ktor text/html content-type 반환으로 인한 문제 해결 (1) | 2024.01.04 |