행복한 하루

exposed beyond app through ClipData.Item.getUri() 에러 발생시 본문

Android/안드로이드 프로그래밍

exposed beyond app through ClipData.Item.getUri() 에러 발생시

변화의 물결 2020. 6. 18. 21:38

 

 

안녕하세요.

 

 아직 LG G2 폰을 사용하다보니 카메라 에러나지 않아서 낮은 버전에서 되면 상위버전은 잘될 거야 생각했는데, 그렇지 않더군요.

 

 카메라 촬영하는 소스를 만들고 안드로이드 5버전에서는 문제가 없었는데 7이상 최신 폰에서는 카메라가 작동을 하지 않았습니다. 그래서 에러 메시지를 보니

 

"exposed beyond app through ClipData.Item.getUri()" 에러가 나왔습니다.

기본적인 내용은 아래의 링크로 대체하겠습니다. 간단히 말해서

 

"Android 7.0 이상부터 파일공유 정책이 변경되었습니다. 그렇기에 File Provider에 대해 알아두셔야합니다.

파일에 일반 경로인  file://~ 을 참조하면 Fileuriexposedexception이 발생합니다 "

출처: https://namget.tistory.com/entry/안드로이드-File-Provider-파일공유Nougat7-대응 

 

 위의 링크 내용을  따라하시면 되는데 추가로 한 곳만 수정해주시면 됩니다. 

Manifest의 

 

android:name="android.support.v4.content.FileProvider"

 

부분을 아래로 수정 해주면 됩니다.

android:name="androidx.core.content.FileProvider"

 

이렇게 하면 안드로이드5 ~ 9 버전까지 카메라가 작동되는 것을 확인할 수 있었습니다.

 

오늘은 여기까지 입니다. ^^

 

 

Comments