简体   繁体   中英

Extract QueryParameters from deeplink Url in Kotlin

Please help guys, Im using firebase dynamic links, i want to know how we can extract our pass string queryparameters in kotlin. this is the generated deeplink:

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

how to extract roomCode=myroomtest, roomToken=OiJIUzI1NiJ this string values from deeplink url.

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))
        }
}

I need the strings so that i can start meeting using the following code:

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

Finally it is resolved:

             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))
        }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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