Kotlin 未能在活动结果上交付结果

Kotlin 未能在活动结果上交付结果,kotlin,onactivityresult,Kotlin,Onactivityresult,下面是摄像头的示例代码: val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) startActivityForResult(intent, REQUEST_CAMERA) 注意:当我按“活动结果”上的“照相机返回”时,显示如下: java.lang.RuntimeException:未能将结果ResultInfo{who=null,request=65537,result=0,data=null}传递到活动 并由以下原因引起:jav

下面是摄像头的示例代码:

val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
    startActivityForResult(intent, REQUEST_CAMERA)
注意:当我按“活动结果”上的“照相机返回”时,显示如下:

java.lang.RuntimeException:未能将结果ResultInfo{who=null,request=65537,result=0,data=null}传递到活动 并由以下原因引起:java.lang.IllegalArgumentException:指定为非null的参数为null:

试着拿出这样的解决方案:

 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { 
           try {
                when(resultCode){
                    Activity.RESULT_CANCELED -> {
                        System.out.println("nothing")
                    }
                    Activity.RESULT_OK -> {
                        if (requestCode == SELECT_FILE)
                            onSelectFromGalleryResult(data)
                        else if (requestCode == REQUEST_CAMERA)
                            onCaptureImageResult(data)
                    }
                }
            }catch (e:NullPointerException){
                e.printStackTrace()
            }
}
仍然无法解决此问题,因为当我调试日志时,它不会在func onActivity上显示结果如果我继续按“从摄影机返回”,则不会捕获图像。从画廊拍照和拍照,就像《魅力》一样


多谢各位。请帮我解决这个问题,因为沿途给出的解决方案不起作用。谷歌似乎必须覆盖ResultActivity(resultcode!!:Int)的乐趣,你不应该覆盖它吗

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

我在应用程序中使用kotlin实现PayPal支付网关时遇到了同样的问题。您只需在ActivityResult中添加,因为如果数据为空或出现任何错误,则数据可能为空。因此,我们需要在activityresult

只需将SomeActivity的签名替换为以下内容:

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

选中此项:activityresult(int-requestCode、int-resultCode、Intent-data)上的public void这是我从父片段派生的。那么如何在kotlin中实现呢?Java-to-kotlin转换器错误地将
data:Intent
作为参数,但它应该是可以为null的,所以将其更改为
data:Intent?
。在扩展片段中,不需要像这样将super放在activityresult(){//no-need super}上,如果我也放了同样的参数,则会导致崩溃。最新的android build 26.0.2中似乎存在漏洞问题是由于使用了…data:Intent。。而不是…数据:意图?。。在onActivityResult parameters.yup中。新转换器kotlin出了问题。这完全帮助了我!非常感谢。