마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

다른 폰에서 앱 실행 오류 질문

0 추천

제가 만든 어플이 LG GX 폰에서는 오류 없이 잘 작동하다가 삼성 갤럭시 노트3 폰에서 작동을 하니 오류가 발생하였습니다.

 

오류가 발생한 지점은 갤러리 호출 후, 사진을 선택하고 나서 onActivityResult 실행 부분에서 앱이 종료됩니다.

 

로그캣 메세지는 저렇게 뜨네요.. 도움 부탁 드립니다.

 

05-15 20:52:19.756    5038-5038/com.example.hyub.prac E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.hyub.prac, PID: 5038
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=Intent { dat=content://media/external/images/media/5390 (has extras) }} to activity {com.example.hyub.prac/com.example.hyub.prac.MainActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/5390 from pid=5038, uid=10323 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
            at android.app.ActivityThread.deliverResults(ActivityThread.java:4058)
            at android.app.ActivityThread.handleSendResult(ActivityThread.java:4101)
            at android.app.ActivityThread.access$1400(ActivityThread.java:177)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1497)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5942)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
     Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/5390 from pid=5038, uid=10323 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
            at android.os.Parcel.readException(Parcel.java:1540)
            at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
            at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
            at android.content.ContentProviderProxy.query(ContentProviderNative.java:420)
            at android.content.ContentResolver.query(ContentResolver.java:484)
            at android.content.ContentResolver.query(ContentResolver.java:428)
            at com.example.hyub.prac.MainActivity.getImageNameToUri(MainActivity.java:184)
            at com.example.hyub.prac.MainActivity.onActivityResult(MainActivity.java:140)
            at android.app.Activity.dispatchActivityResult(Activity.java:6548)
            at android.app.ActivityThread.deliverResults(ActivityThread.java:4054)
            at android.app.ActivityThread.handleSendResult(ActivityThread.java:4101)
            at android.app.ActivityThread.access$1400(ActivityThread.java:177)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1497)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5942)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
 
마트상 (290 포인트) 님이 2015년 5월 15일 질문

1개의 답변

+1 추천

프로젝트 매니페스트에 android.permission.READ_EXTERNAL_STORAGE 퍼미션 추가해보세요~

작전동 (5,890 포인트) 님이 2015년 5월 18일 답변
...