首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择要打开的应用程序时,使用deeplink启动的活动已完成

选择要打开的应用程序时,使用deeplink启动的活动已完成
EN

Stack Overflow用户
提问于 2020-10-06 14:45:50
回答 1查看 35关注 0票数 0

我想实现深度链接,如果登录的用户打开一个链接,应用程序会启动一个活动,但对于未登录的用户,应用程序会启动登录活动(并将深度链接方案传递给该活动),然后在登录后,应用程序会重做深度链接并完成登录活动。

但问题是,当我完成登录时,登录活动在我完成“选择要打开的应用程序”提示之前就完成了。结果,在打开之前预期的深度链接活动几秒钟后,该活动被重定向到MainActivity。

代码语言:javascript
复制
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变量是从以前的活动中检索到的深度链接方案字符串

EN

回答 1

Stack Overflow用户

发布于 2020-10-06 15:03:56

在本练习中将finish()移动到onActivityResult

代码语言:javascript
复制
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()
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64220629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档