如何在 Jetpack Compose 中获取 NavDeepLink 的完整 uriPattern?

tho*_*iha 1 android android-jetpack-compose jetpack-compose-navigation

我有一个使用应在应用程序中打开的联合 URL 的应用程序。它使用 DeepLinks 来做到这一点。

问题是我需要向可组合项提供完整的 URI 模式,以便找出从哪里获取数据。我如何提供可组合项的完整 URL?

例子:

composable(
  route = "c/{name}/{instance}",
  deepLinks = DEFAULT_LEMMY_INSTANCES.map { instance ->
    navDeepLink { uriPattern = "$instance/c/{name}" }
  },
  arguments = listOf(
    navArgument("name") {
      type = NavType.StringType
    }
  )
) {
  LaunchedEffect(Unit) {
  val name = it.arguments?.getString("name")!!
  // TODO figure out how to get instance / full URI pattern?
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 5

这正是extra 的用途:这是用于触发深度链接的KEY_DEEP_LINK_INTENT完整内容- 它是包含完整内容的字段:IntentdataIntentUri

val deepLinkIntent: Intent = it.arguments?.getParcelable(
    NavController.KEY_DEEP_LINK_INTENT)
val fullUri = deepLinkIntent?.data
Run Code Online (Sandbox Code Playgroud)