繁体   English   中英

在 Kotlin 中从深层链接 Url 中提取 QueryParameters

[英]Extract QueryParameters from deeplink Url in Kotlin

请帮助伙计们,我正在使用 firebase 动态链接,我想知道我们如何在 kotlin 中提取我们的传递字符串查询参数。 这是生成的深层链接:

deeplink = https://demo.com/?roomCode=myroomtest%3FroomToken%3DOiJIUzI1NiJ

如何从深层链接 url 中提取 roomCode=myroomtest, roomToken=OiJIUzI1NiJ 这个字符串值。

private fun handleDynamicLink() {
    Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnSuccessListener { pendingDynamicLinkData ->
            val deepLink: Uri?
            if (pendingDynamicLinkData != null) {
                deepLink = pendingDynamicLinkData.link
            
  what queryparameter should i use here to extract the strings from deeplink?

            }
        }
        .addOnFailureListener { _ ->
            toast(getString(R.string.main_error_fetch_dynamic_link))
        }
}

我需要这些字符串,以便我可以使用以下代码开始会议:

 private fun joinMeeting (roomCode:String, roomToken:String) {
    MeetingUtils.startMeeting(
        this,
        roomCode,
        roomToken)
}

终于解决了:

             private fun handleDynamicLink() {
    Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnSuccessListener { pendingDynamicLinkData ->
            val deepLink: Uri?
                if (pendingDynamicLinkData != null) {
                    deepLink = pendingDynamicLinkData.link

val roomCode = deepLink?.getQueryParameter("roomCode")?.substringBefore("?roomToken=","")

val roomToken = deepLink?.getQueryParameter("roomCode")?.replace("roomToken","roomToken")?.substringAfter("?roomToken=","")

                    if(roomCode !=null && roomToken != null) {
                        joinMeeting(roomCode, roomToken)
                    }


                }
        }
        .addOnFailureListener { _ ->
            toast(getString(R.string.main_error_fetch_dynamic_link))
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM