首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式退出Android附件模式

如何以编程方式退出Android附件模式
EN

Stack Overflow用户
提问于 2013-11-12 04:09:55
回答 2查看 2.1K关注 0票数 3

我有一个系统,一个Android平板电脑+一个实现AOA协议的嵌入式电路板。

一切正常,当连接到安卓设备时,嵌入式板卡发送ACCESSORY_START命令,安卓进入AOA模式。然后,两个之间的正常流也可以正常工作。

现在我有一个问题:

有没有一种方法从嵌入式目标禁用AOA模式,而不需要物理移除USB电缆?

一种ACCESSORY_STOP,所以我的Android目标重新获得了通常的PID:VID而不是PID:VID for AOA模式?

或者有一种方法可以用Android代码以编程的方式做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2017-02-10 23:16:31

如果您想要在应用程序退出时关闭附件(而不是拔出它),请在Activity onDestroy()中调用System.exit(0)。这会杀死所有应用程序线程,包括阻塞输入流的附件读线程。然后,附件可以重新打开,而不需要重新插入。

这是对你问题的部分回答(只是为了让细心的学究们清楚地知道,他们正在努力地监视别人的事务)。但它是有用的,因为至少你可以退出你的应用程序,然后重新连接附件,而不需要拔出插头。

是的,这个问题在2017年仍然存在,尽管它在很久以前就被记录下来了。

票数 1
EN

Stack Overflow用户

发布于 2014-04-15 17:07:35

我正在处理一个嵌入式项目中的相同问题。就Android设备而言,我认为需要从USB引脚上拔下电源才能重新连接。

来自主机的数据级别的USB重置是不够的。我亲自测试过重置总线,但设备只是简单地以辅助模式重新连接。

如果android附件设备能够打开或关闭控制器的电源,则可以模拟物理USB重新连接。在我的嵌入式平台上,这是通过在/sys/class/gpio/ 123 /value中使用echo 0或echo 1来执行的,其中123是在linux内核源代码的头文件中定义的管脚号。此引脚编号必须导出到用户空间,并且必须与控制控制器电源的引脚的嵌入式项目原理图对齐,该引脚可能称为PWR_EN或ENABLE。

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19914990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档