android - 如何以编程方式退出 Android 配件模式

标签 android mode adk accessory

我有一个带有 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/

相关文章:

android - 拦截传入的短信三星 - Android

android - google maps api for android 注册页面

Emacs:在更改日志模式下设置填充列

Android ADK USB 库未加载

带有 PC 作为 USB 主机的 Android ADK,带有 libusb,批量传输错误

javascript - Android Webview Javascript 将无法工作

android - 在没有 Gradle 的情况下从 Eclipse 迁移到 Android Studio

data.table R 中的行明智模式

angularjs - Laravel 5 + AngularJS html5Mode

android - 从 'byte*' 到 'byte' 的无效转换