본문 바로가기
Android Studio/프로젝트: YAMING

안드로이드 스튜디오 카메라 권한, 카메라 촬영

by Devwon99

AndroidManifest.xml 파일

<uses-permission android:name="android.permission.CAMERA" />

 

 

val CAMERA_PERMISSION_REQUEST = 200

// 카메라 권한을 확인하고 요청하는 함수
fun checkCameraPermission() {
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        // 카메라 권한이 없는 경우
        ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), CAMERA_PERMISSION_REQUEST)
    } else {
        // 이미 권한이 있는 경우
        openCamera()
    }
}

// 권한 요청 결과 처리
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
    if (requestCode == CAMERA_PERMISSION_REQUEST) {
        if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // 권한이 허용된 경우
            openCamera()
        } else {
            // 권한이 거부된 경우
        }
    }
}

 

fun openCamera() {
    val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
    if (intent.resolveActivity(packageManager) != null) {
        startActivityForResult(intent, CAMERA_REQUEST)
    } else {
        // 카메라 앱이 설치되지 않은 경우
    }
}

// 촬영 이후 결과에 대한 처리
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
        
        val imageBitmap = data?.extras?.get("data") as Bitmap // 여기에서 이미지를 사용하거나 저장
        
    }
}

'Android Studio > 프로젝트: YAMING' 카테고리의 다른 글

안드로이드 스튜디오 버튼 클릭시 대화상자  (0) 2023.10.31
Node.js와 MySQL 연결  (0) 2023.10.17
Node.js 설정과 연결  (0) 2023.10.14
앱 아이콘 변경  (0) 2023.10.13
YAMING 프로젝트 설명  (0) 2023.10.13