fragment에서 갤러리를 호출하여
이미지 선택 후, 선택된 이미지를 크롭하여 저장하는 기능을 구현하려고 합니다.
크롭을 호출 한 뒤 크롭한 이미지를 저장하기 위해서
onActivityResult 메소드에서
Bundle extras = data.getExtras();
Bitmap cropImage = (Bitmap)extras.getParcelable("data");
로 크롭된 이미지를 비트맵으로 불러 온 뒤
저장을 하려는데
계속 getParcelable()에서 에러가 나는것 같습니다.
에러는 아래와 같습니다.
그런데 문제는 디바이스에 따라 에러가 안나는경우도 생깁니다.
LG 디바이스(젤리빈)로 테스트 하는경우 아래와 같이 에러가 생기고
팬택 디바이스(킷캣) 로 테스트 하는경우는 정상적으로 작동합니다
두 디바이스 모두 4.0 이상
디바이스별로 getParcelable() 의 파라메터로 들어가는 키값이 달라서 그런것 같다고 생각이 되는데
혹시 해결방법 아시는분 계신가요?
11-20 05:31:24.297: E/AndroidRuntime(16748): FATAL EXCEPTION: main
11-20 05:31:24.297: E/AndroidRuntime(16748): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=65539, result=-1, data=Intent { (has extras) }} to activity
: java.lang.RuntimeException: Failed to unparcel Bitmap
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.app.ActivityThread.deliverResults(ActivityThread.java:3175)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3218)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.app.ActivityThread.access$1100(ActivityThread.java:137)
11-20 05:31:24.297: E/AndroidRuntime(16748): at ㅇdroid.app.ActivityThread$H.handleMessage(ActivityThread.java:1251)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.os.Handler.dispatchMessage(Handler.java:99)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.os.Looper.loop(Looper.java:137)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.app.ActivityThread.main(ActivityThread.java:4863)
11-20 05:31:24.297: E/AndroidRuntime(16748): at java.lang.reflect.Method.invokeNative(Native Method)
11-20 05:31:24.297: E/AndroidRuntime(16748): at java.lang.reflect.Method.invoke(Method.java:511)
11-20 05:31:24.297: E/AndroidRuntime(16748): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
11-20 05:31:24.297: E/AndroidRuntime(16748): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
11-20 05:31:24.297: E/AndroidRuntime(16748): at dalvik.system.NativeStart.main(Native Method)
11-20 05:31:24.297: E/AndroidRuntime(16748): Caused by: java.lang.RuntimeException: Failed to unparcel Bitmap
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:1097)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:1087)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.os.Parcel.readParcelable(Parcel.java:2103)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.os.Parcel.readValue(Parcel.java:1965)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.os.Parcel.readMapInternal(Parcel.java:2226)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.os.Bundle.unparcel(Bundle.java:223)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.os.Bundle.getParcelable(Bundle.java:1165)
11-20 05:31:24.297: E/AndroidRuntime(16748): at .write.WriteFragment.onActivityResult(WriteFragment.java:194)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:167)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.app.Activity.dispatchActivityResult(Activity.java:5432)
11-20 05:31:24.297: E/AndroidRuntime(16748): at android.app.ActivityThread.deliverResults(ActivityThread.java:3171)