微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Kotlin的Deeplink网址中提取查询参数

如何解决从Kotlin的Deeplink网址中提取查询参数

请帮助大家,我正在使用Firebase动态链接,我想知道我们如何提取Kotlin中的传递字符串queryparameters。这是生成的深度链接

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

如何从Deeplink网址中提取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))
        }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。