Android 安卓USB主机和设备睡眠

Android 安卓USB主机和设备睡眠,android,android-service,Android,Android Service,我有一个USB设备,我正在使用USB主机模式与android应用程序接口。设备大约每10秒发送一次数据,但在某些情况下(高优先级数据),数据可以随时发送。在android应用程序端,我有一个使用USB主机模式API读取数据的服务。我的android应用程序处理数据并将数据写回usb设备。现在一切正常,直到安卓设备进入睡眠状态。服务暂停,所有通信停止。我知道我可以使用部分唤醒锁来保持CPU运行和通信,这将对电池产生巨大影响。我有两个问题: 由于USB设备可以随时发送数据,我真的需要android服

我有一个USB设备,我正在使用USB主机模式与android应用程序接口。设备大约每10秒发送一次数据,但在某些情况下(高优先级数据),数据可以随时发送。在android应用程序端,我有一个使用USB主机模式API读取数据的服务。我的android应用程序处理数据并将数据写回usb设备。现在一切正常,直到安卓设备进入睡眠状态。服务暂停,所有通信停止。我知道我可以使用部分唤醒锁来保持CPU运行和通信,这将对电池产生巨大影响。我有两个问题:

  • 由于USB设备可以随时发送数据,我真的需要android服务一直保持活力,特别是因为更高优先级的数据可以随时出现。这可能意味着我获得了部分尾流锁,并且永远不会释放它。在文档中没有找到是否允许这样做,如果允许,除了耗尽电池外还有什么后果

  • USB主机模式API或任何其他API是否提供了不同且可能更好的解决方案


  • 该应用程序是一个用户有限的定制应用程序,因此电池消耗不是一个大问题。我只是想了解是否还有其他问题需要注意,或者是否有更好的方法来解决。

    也请检查一下,这可能是您想要的。Usb设备可以自动唤醒设备,但这需要内核级/硬件支持,我不认为主机模式API有任何影响。如果它不工作,你唯一能做的就是保持设备处于唤醒状态,这是允许的,此外,耗尽电池会消耗大量电池。感谢您的回复。看来部分尾流锁定是唯一的办法。很好的问题。我的汽车电脑也需要同样的。我不相信这是唯一的办法。当我使用usb键盘时,我的手机会立即从任何按键中唤醒。可能最简单的方法是制作一个带有usb HID的复合设备,它会发送一些无用的按键信号来唤醒设备。