Android新API之registerForActivityResult
startActivityForResult在api29中提示已过时,官方给出的替代方案是上面第二个红框的方法registerForActivityResult
java使用:
registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
if(result.getResultCode() == RESULT_OK){
Intent data = result.getData();
//返回数据进行的内容处理
}
}).launch(new Intent(HomeActivity.this, BarcodeScanningActivity.class));
Kotlin使用:
private val startActivity =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
//此处是跳转的result回调方法
if (it.resultCode == Activity.RESULT_OK) {
}
}
跳转方法:
val intent = Intent(this@MainActivity, NewWordActivity::class.java)
startActivity.launch(intent)
引用文章:https://blog.csdn.net/xiayiye5/article/details/120433374