Здесь вы смешиваете несколько разных типов записей:
- Абсолютный тип записи URI,
- URI-формат общеизвестного типа NFC Forum и
- хорошо известный тип NFC Forum Text.
Ваш заголовок записи объявляет запись как абсолютный тип записи URI (TNF = 3).Этот тип записи использует URI для поля имени типа (поле, которое указывает приложениям, как интерпретировать полезную нагрузку записи).Следовательно, URI не является фактической полезной нагрузкой записи в этом случае, а является только дескриптором содержимого записи.В вашем случае такая запись может выглядеть следующим образом:
+-------------------------+----------------------------------------------------------------
| D3 | Record header (MB = ME = 1, CF = 0, SR = 1, IL = 0, TNF = 0x3)
+-------------------------+----------------------------------------------------------------
| 16 | Type Length (22 bytes)
+-------------------------+----------------------------------------------------------------
| 00 | Payload Length (0 bytes)
+-------------------------+----------------------------------------------------------------
| 68 74 74 70 73 3A 2F 2F | Type Name ("https://www.google.com")
| 77 77 77 2E 67 6F 6F 67 |
| 6C 65 2E 63 6F 6D |
+-------------------------+----------------------------------------------------------------
Хотя Android по-прежнему будет обрабатывать эту запись как URI и открывать ее в веб-браузере, это, безусловно, не то, что создатели NDEFСпецификация предполагала использовать абсолютные записи URI.
Вместо этого NFC Forum указал для этой цели общеизвестный тип URI.Вы уже использовали эти части, поскольку имя вашего типа («U») и части формата вашей полезной нагрузки совпадают с частями известного типа записи URI.Однако для того, чтобы объявить вашу запись общеизвестной записью типа, необходимо установить в поле TNF значение 1. Более того, полезная нагрузка типа записи URI состоит из одного байта идентификатора (префикс сокращенного URI) и усеченного URI..
+-------------------------+----------------------------------------------------------------
| D1 | Record header (MB = ME = 1, CF = 0, SR = 1, IL = 0, TNF = 0x1)
+-------------------------+----------------------------------------------------------------
| 01 | Type Length (1 byte)
+-------------------------+----------------------------------------------------------------
| 0B | Payload Length (11 bytes)
+-------------------------+----------------------------------------------------------------
| 55 | Type Name ("U")
+-------------------------+----------------------------------------------------------------
| 02 67 6F 6F 67 6C 65 2E | Payload: Identifier code = 2 (prefix "https://www."),
| 63 6F 6D | truncated URI = "google.com"
+-------------------------+----------------------------------------------------------------