这是我的共享代码。我可以与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发送大数据。请记住,这个错误的原因是,如果你正在使用bundle,你已经加载了大数据。