这个问题的解决方法是使用registerForActivityResult方法注册一个ActivityResultCallback,不需要手动指定requestCode。例如:
ActivityResultLauncher launcher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
// 处理结果
});
在调用startActivityForResult时,使用launcher.launch(intent)来启动活动。ActivityResultCallback的回调将为每个ActivityResultLauncher保持唯一的requestCode。