我正在尝试启动打开外部应用程序的意图,如果我在 MainActivity (xml 或 compose)内调用它,该过程工作正常,但是当从 Compose Screen 调用它时,我收到此错误 java.lang.RuntimeException:android.os。 TransactionTooLargeException:数据包大小 9240036 字节
代码:
val receiptIntent = Intent(Intent.ACTION_VIEW,Uri.parse("https://api.whatsapp.com/send?phone=$phoneNumber&text=${encodedUrl}"))
activity.startActivity(receiptIntent) //activity : MainActivity
//context.startActivity(receiptIntent) //val context = LocalContext.current
我正在尝试打开外部应用程序来执行特定过程。
我遇到了同样的问题,结果发现我正在使用
rememberSavable{...}
在我的一个可组合项中托管一个 Bitmap
(一个巨大的对象),这导致应用程序在我离开活动时抛出 TransactionTooLargeException
,这是有道理的,因为 rememberSavable
使用保存的实例状态机制保留跨活动或进程重新创建的状态。
切换到
remember{...}
就成功了。
检查恢复 UI 状态了解更多详细信息。