startActivityForResult(intent,3021)
我很久以来一直在使用它,现在不建议使用此方法吗?
答案 0 :(得分:2)
它确实被弃用了。我试图找出新的出路,并认为我会在这里分享。
现在,我们无需为所有回调覆盖 onActivityResult
并检查我们的请求代码,而是可以使用 registerForActivityResult
分别注册每个回调,该 ActivityResultContracts
接受一个 val previewRequest =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
if (it.resultCode == RESULT_OK) {
val list = it.data
// do whatever with the data in the callback
}
}
。 IMO 这是一种比以前更好的方法。
以下是为结果启动活动的示例:
StartActivityForResult
现在我们用 val intent = Intent(this, PreviewFullscreenActivity::class.java)
intent.putStringArrayListExtra(AppConstants.PARAMS.IMAGE_URIS, list)
previewRequest.launch(intent)
代替
let isHibernating = false; //Global (top level) variable
const Hibernate = (client) => {
if(!client){ return(false) }
client.user.setPresence({ //Sets detailed presence
activity: {
name: "Hibernating",
type: "PLAYING"
},
status: "idle",
afk: true
});
isHibernating = true;
}