我正在尝试在一个angular-4 dart web应用程序中使用dart的chrome.usb应用程序接口。但它一直抛出异常,因为_usb为空。
if (_usb == null) _throwNotAvailable();作为一种变通方法,我在javascript库(受arduino webusb demo启发)周围编写了一个DART包装器。这是可行的。同样,当chrome-app device-info作为示例时,我能够与USB设备端点通信;但是,该示例不是用DART编写的。
然而,我不明白为什么使用DART的chrome.usb,它不能工作。我更喜欢使用已经存在的chrome.usb应用程序接口来重新发明轮子。
阅读某些网站时,它们表明chrome.usb仅限于web应用程序或扩展,需要manifest.json文件才能获得适当的权限(我尝试了清单文件,但没有成功)。我不确定我是否误解了这些网站(因为我认为使用Angular-dart编写SPA前端被认为是web应用程序),而且在javascript库周围使用DART包装器时,它工作得很好。
欢迎提出任何建议。
发布于 2018-02-22 06:43:28
chrome.usb和WebUSB是两个不同的API。chrome.usb仅在Chrome应用中可用,这些应用已被弃用。WebUSB在任何网页上都可用(只要它是通过HTTPS提供的)。如果您使用的Dart包装器只支持调用WebUSB应用程序接口,那么您需要编写一个新的应用程序接口来调用Dart应用程序接口。
https://stackoverflow.com/questions/48896786
复制相似问题