我正在开发一个使用OTG USB设备的应用程序。
我使用的设备是USB条码扫描器,由android检测为键盘。
但我发现每次插入或拔出OTG设备时,都会通过调用Activity onCreate()方法重新启动应用程序。
这导致了很多问题,因为我无法检测为什么要调用onCreate()方法。
当插入/拔出otg设备时,是否有任何意图或任何可能被触发并被捕获的内容?
提前致谢。
答案 0 :(得分:3)
由于配置更改,android正在重新启动您的活动,请参阅文档here。
确保您尝试将android:configChanges="keyboard"
添加到清单文件中的活动条目中。这将告诉android在插入键盘时不要重新启动活动。之后,插入设备时不应再调用onCreate()
。
请注意,您不应该将其用作修复程序,它只是一种确保您的情况(并且它不是代码中的特定内容)的方法。你必须处理活动重启,因为它是android中的正常行为,不应该导致你的应用程序出现问题。重新启动活动的一个常见原因是方向更改,并且非常不鼓励使用上述方法解决它,当android想要重新启动它时,您的活动不应该有任何问题,请参阅this更多信息。