Skip to content

Instantly share code, notes, and snippets.

@ParkSangGwon
Created February 11, 2020 16:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ParkSangGwon/ae671c1fcd9f7d80fafc7d15e882f441 to your computer and use it in GitHub Desktop.
Save ParkSangGwon/ae671c1fcd9f7d80fafc7d15e882f441 to your computer and use it in GitHub Desktop.
private fun handleDeepLink() {
val deepLinkUri = intent.data
logd("deepLinkUri: $deepLinkUri")
val deepLinkIntent = deepLinkUri?.let {
DeepLinkInfo.invoke(deepLinkUri).getIntent(this, it)
} ?: DeepLinkInfo.getMainIntent(this)
if (isTaskRoot) {
TaskStackBuilder.create(this).apply {
if (needAddMainForParent(deepLinkIntent)) {
addNextIntentWithParentStack(DeepLinkInfo.getMainIntent(this@SchemeActivity))
}
addNextIntent(deepLinkIntent)
}.startActivities()
} else {
startActivity(deepLinkIntent)
}
finish()
}
private fun needAddMainForParent(intent: Intent): Boolean =
when (intent.component?.className) {
MainActivity::class.java.name -> false
else -> true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment