android - 如何处理 Kotlin 中的未知字符?
问题描述
我目前正在用 Kotlin 编写一个 Android 应用程序(目标 API 25+),它将连接到自定义 BLE 外围设备。自定义 BLE 设备已使用 Lightblue Explorer ( iOS ) 和 nRF Connect ( iOS & Android ) 进行验证,以记录和验证数据流。设备名称在 Lightblue 和 nRF 应用程序中均正确显示。
问题是在我的 Kotlin 应用程序中扫描时,设备名称附加了未知字符,见下文:
预期的:ABC_DEF
实际的:ABC_DEF??
我在以下函数中获取设备名称:
override fun onScanResult(callbackType: Int, result: ScanResult?) {
val name = result!!.scanRecord.deviceName
System.out.print("onScanResult: $name")
attemptConnect(result!!)
}
我的应用程序正在尝试连接到特定的设备名称,因此,由于未知字符,连接失败。
目前,name.chunked(7)[0]
为我提供了预期的名称,尽管这个解决方案看起来很老套,而且我确信一旦我更改设备名称就会中断。
所以,我的问题有两个:
- 我应该如何最好地处理这些未知字符,以允许代码可以使用不同的设备名称重复使用?
- 这个问题的原因可能是什么?
谢谢,亚当
解决方案
推荐阅读
- ehcache - Ehcache 3:正在写入的键是否被锁定?
- codeigniter - 重定向功能在 localhost 中正常工作。但它在实时服务器中不起作用
- r - 如果值与在 r 中有条件删除的值匹配,则删除行
- android - 如何初始化活动中的所有图像以一次以编程方式控制它们?
- javascript - 500个内部服务器来的时候前端可以做点什么,因为同时有很多访问
- python - 如何使用 MPI 验证是否有传入消息到我的节点?
- c++ - 我可以鼓励 g++ 内联一个返回符号的开关吗?
- scrapy - 如何列出使用 Scrapy 抓取数据的页面的 URL?
- shell - 在命令行界面中提供“类似清单的”选择的惯用方式是什么?
- generative-adversarial-network - 如何使用 RGB 图像而不是灰度图像进行 WGAN 训练?