DART Chrome.USB выдает исключение при использовании в интерфейсном веб-приложении Angular

Я пытаюсь использовать API chrome.usb от DART в веб-приложении angular-4 dart. Но он продолжает выдавать исключение, поскольку _usb имеет значение null.

if (_usb == null) _throwNotAvailable();

В качестве обходного пути я написал оболочку DART для библиотеки javascript (вдохновленной демонстрацией arduino webusb). Это работает. Кроме того, когда Chrome-app-info-информация, например, я могу подключиться к конечной точке устройства USB; однако, пример не написан в DART.

Тем не менее, я запутался, почему с помощью chrome.usb DART он не работает. Я предпочитаю использовать уже существующий API chrome.usb для изобретения колеса.

Читая некоторые веб-сайты, они указывают, что chrome.usb ограничен веб-приложениями или расширениями и для правильных разрешений нужен файл manifest.json (я безуспешно пробовал файл манифеста). Не уверен, что я неправильно понял эти веб-сайты (поскольку я думаю, что написание SPA-интерфейса с Angular-dart считается веб-приложением), плюс при использовании оболочки DART вокруг библиотеки javascript он работает нормально.

Любые предложения приветствуются.

1 ответ

chrome.usb и WebUSB - это два разных API. chrome.usb доступен только в приложениях Chrome, которые устарели. WebUSB доступен на любой веб-странице (при условии, что он работает по HTTPS). Если используемая оболочка Dart поддерживает только вызов API chrome.usb, вам нужно написать новый, который вызывает API WebUSB.

Другие вопросы по тегам