簡體   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