TransactionTooLargeException при попытке выбрать изображение из галереи. - PullRequest
0 голосов
/ 10 октября 2019
val intent = Intent(Intent.ACTION_PICK)
intent.type = "image/*"
val mimeTypes = arrayOf("image/jpeg")
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes)
startActivityForResult(intent, Config.REQUEST_CODE_PICK_IMAGE)

Вот мой код для начала активности и выбора изображения .. сразу после выбора какого-либо приложения (Галерея, Google Фото) я получаю исключение

java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 2315820 bytes
        at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:160)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6694)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: android.os.TransactionTooLargeException: data parcel size 2315820 bytes
        at android.os.BinderProxy.transactNative(Native Method)
        at android.os.BinderProxy.transact(Binder.java:1129)
        at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:4027)
        at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6694) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
2019-10-10 13:51:27.649 20015-20015/am.lsoft.dev.lsmobilebanking.lsoft E/UncaughtException: java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 2315820 bytes
        at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:160)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6694)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: android.os.TransactionTooLargeException: data parcel size 2315820 bytes
        at android.os.BinderProxy.transactNative(Native Method)
        at android.os.BinderProxy.transact(Binder.java:1129)
        at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:4027)
        at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6694) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

На моем устройстве у меня ~ 3000 фотографий, так что я думаю, что проблема в максимальном размере пакета в 1 МБ. Итак, вопрос, есть ли способ решить эту проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...