问题标签 [accessory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
422 浏览

printing - 在 iOS 中使用蓝牙制作字节数据包并发送到外部附件设备进行打印

我正在使用 iOS 中的外部附件打印图像,但向打印机发送请求时遇到问题。
在这里,我附上了数据包需要发送打印机的图像。但我不知道如何制作这个数据包并将数据包发送到打印机。

数据包数据

0 投票
3 回答
3450 浏览

ios - iOS 中的无线配件配置:EAWiFiUnconfiguredAccessoryBrowser 只会检测一次未配置的配件

我正在使用EAWiFiUnconfiguredAccessoryBrowser来检测EAWiFiUnconfiguredAccessory。启动附件搜索的代码如下:

不幸的是,它仅在第一次加载视图时才找到附件。如果我回到上一个视图然后重新加载视图,它不会找到它们。

我试过了:

  • 重新创建浏览器附件并重新开始搜索(不起作用)
  • 停止搜索并重新启动它(不起作用)

这是我得到的最新代码(与上面的代码一起参考):

附件列表信息似乎缓存在APP内的某处。如果我重新启动应用程序,它会找到它们,所以我想我缺少一些东西。

有什么帮助吗?

0 投票
2 回答
1604 浏览

ios - 区分accessoryView和Row on touch

如果用户单击表格单元格而不是行中的附件图像,我希望用户获得不同的结果。

为了捕捉他们对配件的点击,我使用以下方法:

另外,我没有使用标准指标。相反,我使用自定义图像如下:

覆盖标准附件按钮并显示图像。注意:无论在情节提要中将披露指示器设置为什么,它都会显示图像,无,复选标记,披露指示器等。

然而,目前,

方法不射击。

SO上有一些答案表明如果附件是附件视图而不是附件类型,则不调用此方法。

有谁知道是否可以使用自定义图像并且仍然可以通过点击按钮的方法来触发?

0 投票
0 回答
213 浏览

android - Android USBAccessory 重新连接

我在重新连接 USB 附件时遇到问题,它已被拔掉并重新打开。第一次插入附件时,我能够执行所有步骤以实际与设备通信

  1. 枚举附件
  2. 获得访问附件的权限
  3. 打开附件
  4. 使用 FileDescriptor 的 I/O 流读取和写入设备

当我拔下电缆并再次插入时,我能够完成上面列出的前两个步骤。问题是 UsbManager 的打开附件返回 null 作为 ParcelFileDescriptor。什么可能导致这种情况?难道是因为某些资源仍然保留,因此 Android 无法授予我对设备的访问权限?在调用 openAccessory 之前,我正在释放 I/O 流并关闭 ParcelFileDescriptor。是否还应该做其他事情来正确清理附件?USB附件的官方文档页面有一个关于终止通信的部分,但它不是很有帮助。

http://developer.android.com/guide/topics/connectivity/usb/accessory.html

0 投票
1 回答
134 浏览

android - 连接到安卓手机的usb主机设备必须是arduino吗?

考虑制作一个使用 USB 和 Android 手机的嵌入式设备,因此查看 AOAP 和 ADK 等,如果不是全部的话,我可以找到关于嵌入式设备的信息在/关于 Arduino 中。这是否意味着嵌入式设备必须是 arduino?或者也可以使用其他设备,例如使用 C 的 Atmel 板?

0 投票
1 回答
862 浏览

android - 在 windows pc 上使用什么平台来实现 android 附件协议?

我正在做一个项目,该项目需要我将windows pc 设置为附件,以便与 android 手机通信。我的研究使我发现了 android 开放附件协议,该协议使 android 设备可以由附件控制。另外,我在互联网上找到了很多关于将ARDUINO MEGA ADK与支持 android 的设备连接的帮助。但是,我几乎没有发现有关在 Windows pc 上实现附件协议以实现与支持 android 的设备的通信的信息。我想知道什么平台可以用于这样的开发以及如何实现这样的任务。任何帮助,将不胜感激。

0 投票
0 回答
92 浏览

android - IOIO 在非活动基础上打开附件连接

我做了一个小型的 android 程序,如果打开 USB 调试,效果会很好。该程序将作为 B4A 的库。我想它是否可以在没有 USB 调试的情况下为更高版本的 android 工作,即 > 4.2,但我有一部完全是 4.2 的手机,我可以在其中测试它,当我关闭调试模式时,程序无法连接。在同一部手机中,官方的 Helloioio 程序可以在开放附件模式下工作(我的也应该如此),所以这种情况下的问题肯定与设备无关。IOIO的android打开附件连接的正确连接顺序是什么?这是我的代码的连接部分:

提前致谢!

0 投票
1 回答
463 浏览

android - 拔下 USB 后,USB 附件保持连接状态

我有一个连接到 USB 配件的应用程序。很简单,但即使在拔下 USB 电缆后,配件仍保持连接状态。

这是我的代码:

这让我知道我已连接到 USB 配件,但我没有。我有一个开发者应用程序可以监控手机中的所有内容并说同样的话:

附件已连接。我还尝试了触发广播或终止后台进程之类的方法。仅当我重新启动手机时,它才会显示任何配件。

我的问题只是 Htc One M9, Api 22, Android version 5.1 。如果你们能提供帮助,那将是一件好事,我花了几天时间试图弄清楚。

0 投票
3 回答
311 浏览

android - Android 附件模式期间设备断开连接

是否可以以编程方式检测我的设备是否断开连接(USB)?

我正在尝试在我的附件模式应用程序中标记断开连接事件。那么有可能吗?如果是,如何?

0 投票
0 回答
615 浏览

usb - Android USB Accessory 无法接收数据,InputStream.read 永远不会返回

我有两部安卓手机,都是安卓6.0。我希望他们通过 USB 相互通信。我有一根 OTG USB 数据线,可以将一部手机插入另一部手机。一个是usb主机,另一个是配件。

我的代码基于以下教程:

现在

  1. 主机和附件可以连接
    根据这个项目:https
    ://github.com/quandoo/android2android-accessory 主机发送控制消息:
    private void initStringControlTransfer(final UsbDeviceConnection deviceConnection, final int index, final String string) { deviceConnection.controlTransfer(0x40, 52, 0, index, string.getBytes(), string.length(), USB_TIMEOUT_IN_MS); } initStringControlTransfer(connection, 0, "UsbTest Example"); // MANUFACTURER initStringControlTransfer(connection, 1, "UsbTest"); // MODEL initStringControlTransfer(connection, 2, "Test Usb Host and Accessory"); // DESCRIPTION initStringControlTransfer(connection, 3, "0.1"); // VERSION initStringControlTransfer(connection, 4, ""); // URI initStringControlTransfer(connection, 5, "42"); // SERIAL connection.controlTransfer(0x40, 53, 0, 0, new byte[]{}, 0, USB_TIMEOUT_IN_MS);
  2. 主机可以使用 UsbRequest 从附件接收数据
    主机代码
    UsbRequest request = new UsbRequest(); request.initialize(mConnection, mEndIn); boolean ret = request.queue(buffer, BUFFER_SIZE_IN_BYTES); if (ret) { if (mConnection.requestWait() == request) { // Succeed } }
    附件代码
    try { mOutStream.write(sendBuff); mOutStream.flush(); } catch (IOException e) { }
  3. 配件无法接收数据
    主机代码
    int len = mInStream.read(msg); // block here, read never return if (len > 0) { // succeed }
    配件代码
    UsbRequest request = new UsbRequest(); request.initialize(mConnection, mEndOut); ByteBuffer buffer = ByteBuffer.wrap(text.getBytes()); boolean ret = request.queue(buffer, text.getBytes().length); if (ret) { // request.queue succeed } // if I use bulkTransfer, it always return a negative value //int len = mConnection.bulkTransfer(mEndOut, text.getBytes(), text.getBytes().length, USB_TIMEOUT_IN_MS); //if (len < 0) { // // always run here //} else { //
    //}

有人知道吗?