Сейчас я создаю приложение на Tizen для носимых устройств, в этом случае я использую Samsung Gear с tizen 4 для тестирования NF C с точкой продаж (POS), но у меня были проблемы с чтением APDU, отправленный из POS, когда я приближаю часы к POS, NF C запускает функцию addHCEEventListener в переменной APDU, получает длину 0, но мне нужен кадр данных ISO 7816.
Я не знаю, правильно ли инициализирован этот скрипт, но он выполняется, когда часы находятся рядом с POS. Вот выдержка:
(function() {
var page = document.getElementById('second');
page.addEventListener('pagebeforeshow',
function() {
var adapter = tizen.nfc.getDefaultAdapter();
var modeListenerId = 0,
aseListenerId = 0,
transListenerId = 0;
var hceListenerId = 0;
tizen.power.request("SCREEN", "SCREEN_NORMAL");
modeListenerId = adapter.addCardEmulationModeChangeListener(
function(mode) {
if (mode === 'ALWAYS_ON') {
alert('We are ready to go now');
}
});
try {
adapter.cardEmulationMode = "ALWAYS_ON";
} catch (e) {
window.alert(e.name + ": " + e.message);
}
try {
hceListenerId = adapter.addHCEEventListener(function(event_data) {
if (event_data.eventType == 'ACTIVATED') {
window.alert(event_data.apdu.length);
} else if (event_data.eventType == 'DEACTIVATED') {
console.log('[DC] HCE deactivated');
} else if (event_data.eventType == 'APDU_RECEIVED') {
window.alert(event_data.apdu.length);
}
tizen.power.release("SCREEN");
});
} catch (e) {
alert("AddHCE Exception - " + error.name + ":" + error.message);
}
});
})();
Кто-нибудь знает, как получить кадры данных ISO7816, отправленные через POS?