我有一个带有 Android 平板电脑 + 一个实现 AOA 协议(protocol)的嵌入式板的系统。
一切正常,嵌入式板在连接到 Android 设备时发送 ACCESSORY_START 命令,Android 进入 AOA 模式。然后两者之间的正常流动也能正常工作。
现在我有一个问题:
有没有一种方法可以从嵌入式目标禁用 AOA 模式,而无需物理移除 USB 电缆?
一种 ACCESSORY_STOP,所以我的 Android 目标重新获得通常的 PID:VID 而不是 AOA 模式的 PID:VID?
或者有一种方法可以使用 Android 代码以编程方式执行此操作?
最佳答案
如果你想在应用程序退出时关闭附件(不拔掉它),在 Activity onDestroy() 中调用 System.exit(0)。这会杀死所有应用程序线程,包括阻塞输入流的辅助读取线程。然后无需重新插入即可重新打开配件。
这是对您问题的部分回答(只是为了让警惕的学究们清楚地了解其他人的业务)。但这很有用,因为至少您可以退出您的应用程序,然后在不拔下插头的情况下再次重新连接配件。
是的,这个问题在 2017 年仍然存在,尽管很久以前就有记录了。
关于android - 如何以编程方式退出 Android 配件模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914990/