AndroidX Activity Result API的onActivityCreated方法已被弃用。解决方法是使用registerForActivityResult方法来注册Activity Result并处理结果。
下面是一个示例代码:
public class MainActivity extends AppCompatActivity {
private ActivityResultLauncher launcher;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
result -> {
if (result.getResultCode() == RESULT_OK) {
// 处理结果
Intent data = result.getData();
// ...
}
});
Button button = findViewById(R.id.button);
button.setOnClickListener(view -> {
// 创建Intent并启动Activity
Intent intent = new Intent(this, SecondActivity.class);
launcher.launch(intent);
});
}
}
在上述示例中,我们使用registerForActivityResult方法来注册一个ActivityResultLauncher,并在回调中处理结果。在按钮的点击事件中,我们创建一个Intent并使用launcher来启动SecondActivity。当SecondActivity关闭时,会触发回调函数,我们可以在其中处理返回的结果。
请注意,这需要使用AndroidX库中的ActivityResultContracts.StartActivityForResult类,因此请确保你的项目中已经迁移到了AndroidX。
上一篇:Androidx Activity OnBackPressedCallback 接口问题
下一篇:androidx ActivityResultContracts.RequestPermission在取消请求时似乎存在问题。