连接OTG设备时调用onCreate()的活动

时间:2016-04-16 02:39:54

标签: android usb-otg android-usb

我正在开发一个使用OTG USB设备的应用程序。

我使用的设备是USB条码扫描器,由android检测为键盘。

但我发现每次插入或拔出OTG设备时,都会通过调用Activity onCreate()方法重新启动应用程序。

这导致了很多问题,因为我无法检测为什么要调用onCreate()方法。

当插入/拔出otg设备时,是否有任何意图或任何可能被触发并被捕获的内容?

提前致谢。

1 个答案:

答案 0 :(得分:3)

由于配置更改,android正在重新启动您的活动,请参阅文档here

确保您尝试将android:configChanges="keyboard"添加到清单文件中的活动条目中。这将告诉android在插入键盘时不要重新启动活动。之后,插入设备时不应再调用onCreate()

请注意,您不应该将其用作修复程序,它只是一种确保您的情况(并且它不是代码中的特定内容)的方法。你必须处理活动重启,因为它是android中的正常行为,不应该导致你的应用程序出现问题。重新启动活动的一个常见原因是方向更改,并且非常不鼓励使用上述方法解决它,当android想要重新启动它时,您的活动不应该有任何问题,请参阅this更多信息。