未能在 activity 个结果上提供结果
Failure delivering result on activity result
下面是来自相机的示例代码意图:
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(intent, REQUEST_CAMERA)
注意:当我从相机按回 Activity 结果显示如下:
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=65537, result=0, data=null} to activity
and Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is 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 onactivityresult 上。像魅力一样从画廊作品中拍照和拾取图像。
谢谢。请帮我解决这个问题,因为给出的解决方案不起作用。似乎 google 必须覆盖 fun onresultactivity(resultcode!!:Int) <- 这个应该 return 非空。
你不应该改写它吗?
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
}
我在使用 kotlin 在我的应用程序中实现 PayPal 支付网关时遇到了同样的问题。您只需要在 onActivityResult
中添加 ? with Intent,因为如果数据为空或出现任何问题,数据可能为空。所以我们需要在 onActivityResult
中定义数据为 nullable
只需将您的 SomeActivity 的 onActivityResult
签名替换为以下内容:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
下面是来自相机的示例代码意图:
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(intent, REQUEST_CAMERA)
注意:当我从相机按回 Activity 结果显示如下:
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=65537, result=0, data=null} to activity and Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is 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 onactivityresult 上。像魅力一样从画廊作品中拍照和拾取图像。
谢谢。请帮我解决这个问题,因为给出的解决方案不起作用。似乎 google 必须覆盖 fun onresultactivity(resultcode!!:Int) <- 这个应该 return 非空。
你不应该改写它吗?
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
}
我在使用 kotlin 在我的应用程序中实现 PayPal 支付网关时遇到了同样的问题。您只需要在 onActivityResult
中添加 ? with Intent,因为如果数据为空或出现任何问题,数据可能为空。所以我们需要在 onActivityResult
只需将您的 SomeActivity 的 onActivityResult
签名替换为以下内容:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)