android 如果提供的参数中包含特殊字符,则无法在Jetpack合成中导航

tvz2xvvm  于 2023-02-14  发布在  Android
关注(0)|答案(1)|浏览(103)
Navigation destination that matches request NavDeepLinkRequest{ uri=android-app://androidx.navigation/testScreen/Can I change this (Pin / Password)?/100/300 } cannot be found in the navigation graph

其中

  • 我可以更改此(PIN /密码)吗?*

是我的屏幕标题。我在尝试导航时遇到异常。我如何避免这个问题,因为我的标题包含“/”,这被认为是深层链接本身的一部分。

jhiyze9q

jhiyze9q1#

在编写中,基于url的导航不支持特殊字符。
如果你觉得你的字符串参数中有一个特殊的字符,你可以试着把它编码成java.util.Base64

val titleArg = Base64.getUrlEncoder().encodeToString(title.toByteArray())

然后将此titleArg作为导航参数或路径发送
当接收它的时候就像这样解码

val title = String(Base64.getUrlDecoder().decode(titleArg))

相关问题