1
我创建了一个NFC读取URI时读我的应用程序代码,其中/写部分:丢失数据从NFC标签
READ负责处理数据和触发网络浏览器:
ndef.connect()
val ndefMessage = ndef.ndefMessage
if (ndefMessage.records != null && ndefMessage.records.isNotEmpty()) {
message = String(it.records[0].payload)
}
ndef.close()
WRITE写入一个URL到NFC标签:
ndef.connect()
val mimeRecord = NdefRecord.createUri(url)
ndef.writeNdefMessage(NdefMessage(mimeRecord))
ndef.close()
对于某些神秘的原因,当我写的URL“http://www.google.com”,我对我message
变量(读取标签与后网址)只包含“google.com”。我不知道为什么网址的其余部分(“http://www。”)被删除/忽略。你能告诉我发生了什么事吗?我的错误在哪里?
为了澄清,你正在写的变量'url'的标签,其中有价值'http:// www.google.com',当你阅读它时,返回只是'google.com'?你有没有尝试过其他的网址?查看URL的创建位置可能会有所帮助。 – WoogieNoogie
是的,现在它在你写作的时候非常有效。是的,我尝试了不同的URL - 没有区别tho:CI从'EditText'小部件读取URL并将其传递给我的'TagManager' – JakubW
我不能把它作为答案,因为它更多的是理论,但NFC信息必须简洁明了。 Ndef库很有可能会故意缩短网址,如果它以'http:// www'开头,那么这是一种“默认”URI。 – WoogieNoogie