对于onActivityResult中的数据,指定为非null的参数为null

Mik*_*ler 6 android-intent kotlin

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

但我无法用明显的解决方案来解决它,即将签名更改为

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

因为那时它说该函数不会覆盖任何东西(在原始方法中,数据不可为空)

但是如果没有这个,数据将作为null发送,这是不允许的.我得到以下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()
}
Run Code Online (Sandbox Code Playgroud)