Эмуляция хост-карты приложения Tizen Watch (HCE) - PullRequest
0 голосов
/ 27 января 2020

Сейчас я создаю приложение на 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?

...