活动结果失败的结果
以下是来自相机的示例代码意图:
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:
尝试出来这样的解决方案:
try { when(requestCode){ 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如果我去按相机回来,而不是捕获图像。 从画廊的图像和皮卡图像工作像魅力。
谢谢。 请帮我解决这个问题,因为一路解决办法不行。 它似乎像谷歌必须重写结果代码!!(结果代码!!:INT)< – 这应该有返回非null。
你不应该重写这个吗?
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) }
在使用kotlin在我的应用程序中实现PayPal支付网关时,我遇到了同样的问题。 你只需要添加? 与Intent onActivityResult
作为数据可以为空如果数据为空或任何错误。 所以我们需要在onActivityResult
中将数据定义为空
只需用下面的代码替换SomeActivity的onActivityResult
签名:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)