我想实现深度链接,如果登录的用户打开一个链接,应用程序会启动一个活动,但对于未登录的用户,应用程序会启动登录活动(并将深度链接方案传递给该活动),然后在登录后,应用程序会重做深度链接并完成登录活动。
但问题是,当我完成登录时,登录活动在我完成“选择要打开的应用程序”提示之前就完成了。结果,在打开之前预期的深度链接活动几秒钟后,该活动被重定向到MainActivity。
private fun redirectAfterLoggedIn() {
if (isOpenFromDeeplink()) {
openDeeplinkScheme()
} else {
openUserActivity()
}
}
private fun openDeeplinkScheme() {
viewModel.deeplinkScheme?.let { scheme ->
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(scheme)))
finish()
}
}deeplinkScheme变量是从以前的活动中检索到的深度链接方案字符串
发布于 2020-10-06 15:03:56
在本练习中将finish()移动到onActivityResult。
private fun openDeeplinkScheme() {
viewModel.deeplinkScheme?.let { scheme ->
startActivityForResult(Intent(Intent.ACTION_VIEW, Uri.parse(scheme)), 100);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == 100) {
// do some optional data manipulation
finish()
}
}https://stackoverflow.com/questions/64220629
复制相似问题