Считыватель смарт-карт и ChromeApp
Я хочу создать приложение Chrome, которое будет иметь доступ к USB-устройству чтения смарт-карт (HID Global OmniKey 3121).
Удалось ли кому-нибудь это сделать?
К сожалению, я не могу видеть это с помощьюusb.getDevices
.
script.js (вызываетсяindex.html который сам по себе называетсяbackground.js onLaunched
):
//dom elements
var findBtn = document.querySelector( "button#find-btn" )
var deviceInfo = document.querySelector( "p#device-info" )
//{click}
findBtn.addEventListener( "click", findDevice )
/*
* Try to find HID OmniKey 3x21
*/
function findDevice ()
{
var options = {
filters: [
{
vendorId: 1899, //OmniKey AG
productId: 12321 //CardMan 3121 but PID=0x3021
}
]
}
chrome.usb.getDevices( options, function ( devices )
{
console.log( devices )
deviceInfo.innerHTML = JSON.stringify( devices[0] )
} )
}
Устройство объявлено в манифесте и распознано Chrome на странице расширений.
Заранее спасибо за вашу помощь.
РЕДАКТИРОВАТЬ
Вот мойmanifest.json:
{
"manifest_version": 2,
"name": "Card Reader",
"description": "Smartcard reader",
"version": "0.0.2",
"minimum_chrome_version": "43",
"app": {
"background": {
"scripts": [ "js/background.js" ]
}
},
"permissions": [
"usb",
{
"usbDevices": [
{
"vendorId": 1057,
"productId": 1633
},
{
"vendorId": 1133,
"productId": 49271
},
{
"vendorId": 1899,
"productId": 12321
}
]
}
]
}
3 разрешенных устройства:
Nokia Lumia 920Оптическая мышь DellСчитыватель смарт-карт OmniKey 3121Только мышь распознаетсяusb.getDevices
или жеusb.findDevices
, Только мышь в спискеusb.getUserSelectedDevices
.