指定为非null的参数在onActivityResult中的数据为null

我遇到了与此处所述相同的问题: https : //github.com/paypal/PayPal-Android-SDK/issues/437

但是我无法用明显的解决方案来解决这个问题,即将签名更改为

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {}

因为那么它说这个函数什么都不会覆盖(在原来的方法中,数据是不可空的)

但是没有这个,数据被发送为空,这是不允许的。 我得到以下RuntimeException:

ResultInfo {who = null,request = 2,result = 0,data = null}将结果失败传递给activity {… MainActivity}:java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm。 internal.Intrinsics.checkParameterIsNotNull,参数数据

我怎样才能让数据不为空,或被允许为空? 我在自己的活动中按“后退”按钮,所以我可以发送任何我需要的东西。 我试着添加一些数据的意图,即

 override fun onBackPressed() { super.onBackPressed() val i = Intent() i.putExtra("nonNull", "nonNull") setResult(RESULT_CANCELED, i) finish() }