Activity 连接 OTG 设备时调用 onCreate()

Activity onCreate() called when connecting OTG device

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

我使用的设备是 USB 条形码扫描仪,android 将其检测为键盘。

但我检测到每次插拔OTG设备时,都会调用ActivityonCreate()方法重启App

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

插入/拔出 otg 设备时是否有任何 Intent 或任何可以触发和捕获的内容?

提前致谢。

由于配置更改,

android 正在重新启动您的 activity,请参阅文档 here

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

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