매우 늦 었 지만 카메라 앱 과 관련 된 LG G 5 특징 | 찰스 의 안드로이드 
 글쓴이 Charlezz 날짜 2019 년 7 월 29 일 
 개발 을 하 다 보 면 특정 기기 에서 만 알 수 없 는 이유 로 앱 이 크래쉬 가 나 거나 오류 가 발생 하 곤 한다 . 
 원인 을 파악 하 기 위해 파헤치 다 보 면 간혹 프레임워크 의 버그 이 거나 특정 기기 의 소프트웨어 문제 이 거나 아니 면 내 가 모르 는 문제 이 다 . 
 카메라 와 관련 된 앱 을 개발 하 면서 알 게 된 G 5 관련 이슈 2 가지 가 있 다 . 
 사진 저장 경로 문제 
 일반 적 으로 사진 을 찍 을 때 다음 과 같이 인 텐트 를 구성 해서 액티비티 를 호출 하 게 된다 . 
 MediaStore . EXTRA _ OUTPUT 을 Key 로 하 여 Uri 를 넘겨 주 면 일반 적 인 Camera App 은 이 를 받 아 내 가 지정 한 경로 에 사진 을 찍 어서 저장 시킨다 . 
 하 지만 G 5 에 내장 된 기본 카메라 는 EXTRA _ OUTPUT 에 경로 를 지정 해도 DCIM 에 저장 하 는 듯 하 다 . 
 MediaStore 관리 
 안드로이드 는 사진 / 동영상 / 파일 / 음악 등 을 MediaStore 라는 데이터베이스 에 관리 한다 . 위 의 첫 번 째 문제 에 포함 된 코드 처럼 startActivityForResult 를 호출 하 여 사진 을 찍 고 난 뒤 onActivityResult 에서 일반 적 으로 결과 를 받 아 처리 한다 . 
 나 의 경우 에 는 방금 찍 은 사진 의 MediaStore 의 ID 가 필요 했 다 . 
 갤럭시 를 비롯 한 다른 기기 는 사진 을 찍 자 마자 onActivityResult 에서 query 하 면 ID 를 얻 을 수 있 으나 , G 5 는 사진 이 데이터베이스 에 등록 되 지 않 아 cursor 가 null 이 된다 . 특정 시점 이 지난 뒤 에 는 물론 조회 가 가능 하 다 . 
 이 는 G 5 의 오류 라고 보 기 는 힘들 지만 다른 기기 는 다 되 는데 G 5 는 되 지 않 았 다 . 할 수 없이 G 5 를 위해 비즈니스 로직 을 비동기 적 으로 수정 해야 만 했 다 . 끝