728x90
반응형
안드로이드가 생각보다 똑똑하다.
USB 장치면 다 똑같이 볼줄 알았는데, 연결되는 장치가 카메라면 카메라인줄 안다.
즉, USB 카메라의 권한을 얻으려면 USB 연결 권한을 얻기 전에 먼저 카메라 권한을 먼저 얻어내자.
<manifest
...
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.usb.host" />
...
</manifest>
onCreate에서 권한을 얻는 코드는 다음과 같다.
override fun onCreate(savedInstanceState: Bundle?) {
...
if (!allPermissionGranted()) {
ActivityCompat.requestPermissions(
this,
arrayOf(android.Manifest.permission.CAMERA),
REQUEST_CODE
)
}
}
private fun allPermissionGranted() : Boolean {
return ContextCompat.checkSelfPermission(
binding.root.context,
android.Manifest.permission.CAMERA
) == PackageManager.PERMISSION_GRANTED
}
REQUEST_CODE는 아무 Integer나 넣어도 된다.
참조
'안드로이드' 카테고리의 다른 글
[안드로이드 Compose] TextField, 완료시 다음 TextField로 이동 (1) | 2023.03.05 |
---|---|
[안드로이드] 'libuvc/libuvc_config.h' file not found 에러 (2) | 2023.02.20 |
[안드로이드] PreviewView가 다른 View를 overlap하는 경우 (0) | 2023.02.11 |
[안드로이드] 앱 강제 종료 (0) | 2023.02.10 |
[안드로이드] getBitmap 메서드와 성능 (1) | 2023.01.19 |