我在 android 中有意分享照片时出现 transactionlargeexception 错误
I am getting transactionlargeexception error when sharing a photo with intent in android
这是我的分享代码。我可以与 StartActivity 共享,但应用程序在后台崩溃。
错误在这里,我的应用程序崩溃了。
提前致谢。
val bitmapUri = Uri.parse(bitmapPath)
val sendIntent = Intent(Intent.ACTION_SEND)
sendIntent.setType("image/*")
sendIntent.putExtra(Intent.EXTRA_STREAM, bitmapUri)
startActivity(Intent.createChooser(sendIntent, "share"))
java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 2706652 bytes
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:161)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:7861)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Caused by: android.os.TransactionTooLargeException: data parcel size 2706652 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(BinderProxy.java:540)
at android.app.IActivityTaskManager$Stub$Proxy.activityStopped(IActivityTaskManager.java:4627)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:145)
我发现了问题。实际上,错误不是来自上面的代码。问题是我正在发送带有捆绑包的大数据。 记住,这个错误的原因是,如果你使用的是bundle,你已经在上面加载了大数据。
这是我的分享代码。我可以与 StartActivity 共享,但应用程序在后台崩溃。 错误在这里,我的应用程序崩溃了。 提前致谢。
val bitmapUri = Uri.parse(bitmapPath)
val sendIntent = Intent(Intent.ACTION_SEND)
sendIntent.setType("image/*")
sendIntent.putExtra(Intent.EXTRA_STREAM, bitmapUri)
startActivity(Intent.createChooser(sendIntent, "share"))
java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 2706652 bytes
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:161)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:7861)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Caused by: android.os.TransactionTooLargeException: data parcel size 2706652 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(BinderProxy.java:540)
at android.app.IActivityTaskManager$Stub$Proxy.activityStopped(IActivityTaskManager.java:4627)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:145)
我发现了问题。实际上,错误不是来自上面的代码。问题是我正在发送带有捆绑包的大数据。 记住,这个错误的原因是,如果你使用的是bundle,你已经在上面加载了大数据。