在使用ActivityResultLauncher启动活动时,需要使用registerForActivityResult()方法创建一个对象,并对onActivityResult方法进行响应。在ActivityResultCallback中,应检查resultCode是否为RESULT_OK,这是因为如果操作被取消,将返回CANCELLED的结果代码。以下是示例代码:
val someActivityResultLauncher = activityResultRegistry.registerForActivityResult(
ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
//处理成功后的结果
} else if (result.resultCode == Activity.RESULT_CANCELED) {
//处理取消操作的结果
}
}
在此示例中,需要检查返回的resultCode是否为RESULT_OK或RESULT_CANCELED。这样可以确保正确处理操作被取消的情况,避免返回0并出现错误。