boostcampwm-2022 / android07-Puzzle

⛳퍼팅은 즐겁다!! 퍼즐
22 stars 5 forks source link

fix: 영상 촬영 권한 문제 해결, MetaDataRetriever 호출문에서 앱 터지지 않도록 수정 #110

Closed ERyukSa closed 1 year ago

ERyukSa commented 1 year ago

Main Changes

설명

1. 권한 문제

Manifest.permission.WRITE_EXTERNAL_STORAGE가 문제의 원인이었습니다. 코드에서는 28 버전 이하일 땐 해당 권한을 갖고 있는지 검사하고 있는데, manifest 파일에는 선언되어 있지 않아서 유저에게 권한 요청 뜨지 않고 있었습니다. 그래서 항상 권한이 없어서 생기는 문제였고, 지금 이 권한이 사용되지 않고 있어서 일단 주석으로 처리했습니다.

private val REQUIRED_PERMISSIONS =
            mutableListOf(
                Manifest.permission.CAMERA,
                Manifest.permission.RECORD_AUDIO
            )/*.apply {
                if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
                    add(Manifest.permission.WRITE_EXTERNAL_STORAGE)
                }
            }*/.toTypedArray()

2. MediaMetadataRetriever

MediaMetadataRetriever.use{}로 자동으로 리소스를 반환하게 했는데, 특정 버전 이상부터 AutoClosable 인터페이스가 구현되어 있길래 .use{} 사용하던 부분을 수정했습니다.

public class MediaMetadataRetriever implements AutoCloseable {
 // ...
}