//获取屏幕尺寸
val screenSize = getScreenSizeInInches(requireContext())
//获取屏幕分辨率
val resolution = getResolution(requireContext())
fun getCameraPixelInfo() {
val cameraInfo = StringBuilder()
val numberOfCameras = Camera.getNumberOfCameras()
for (i in 0 until numberOfCameras) {
val camera = Camera.open(i)
val parameters = camera.parameters
val cameraInfoInstance = Camera.CameraInfo()
Camera.getCameraInfo(i, cameraInfoInstance)
val facing = if (cameraInfoInstance.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) "前置" else "后置"
val pixelInfo = "${facing}:${parameters.pictureSize.width}x${parameters.pictureSize.height}"
cameraInfo.append(pixelInfo).append("\n")
camera.release()
}
cameraInfo_tv.text = numberOfCameras.toString()
cameraInfo_tv.setBackgroundResource(R.color.transparency)
Log.d(TAG, "摄像头信息:\n$cameraInfo")
}
fun getScreenSizeInInches(context: Context): Double {
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
val displayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(displayMetrics)
val x = displayMetrics.widthPixels / displayMetrics.xdpi
val y = displayMetrics.heightPixels / displayMetrics.ydpi
val screenSizeInInches = Math.sqrt((x * x + y * y).toDouble())
return screenSizeInInches
}