重新启动后保留 USB 权限而无需重新插入设备
Persisting USB permission after reboot without replugging device
在 Android 应用程序中,我需要特定 USB 设备(已知 vendor/product ID)的权限,该设备永久插入 Android 设备。
到目前为止,我做了以下观察:
- 当使用 UsbManager.requestPermission() 时,权限在 replugging/rebooting 时被解除,并且弹出窗口的复选框似乎对此行为没有任何影响
- 当 using intent filters 时,重新插入 USB 设备时会正确地重新授予权限(即使在重启后重新插入,如果弹出的复选框被选中)但权限不会重新授予-重启后授予,除非我拔下并重新插入 USB 设备。
是否可以确保权限弹窗只显示一次? (特别是在 Android 设备重新启动且 USB 设备保持插入的情况下)
注意:该应用未安装在系统文件夹中,因此无法使用 MANAGE_USB 权限。
无法保持 USB 权限, 因为重启选项会强制停止所有操作,通常它也会拔掉 USB。
有一种可能要求在重新启动时重新插入 USB。
是否可以确保权限弹窗只显示一次? 否
因为如果您连接的 USB 造成死锁情况,他们会拔掉它,而不是干扰系统。
所以USB Plugged-in是不可能的。
解决方案是使用 Intent 过滤器并在关联的 activity 上添加 android:directBootAware="true"
属性,以便在启动后正确接收 USB_DEVICE_ATTACHED
事件。
在 Android 应用程序中,我需要特定 USB 设备(已知 vendor/product ID)的权限,该设备永久插入 Android 设备。
到目前为止,我做了以下观察:
- 当使用 UsbManager.requestPermission() 时,权限在 replugging/rebooting 时被解除,并且弹出窗口的复选框似乎对此行为没有任何影响
- 当 using intent filters 时,重新插入 USB 设备时会正确地重新授予权限(即使在重启后重新插入,如果弹出的复选框被选中)但权限不会重新授予-重启后授予,除非我拔下并重新插入 USB 设备。
是否可以确保权限弹窗只显示一次? (特别是在 Android 设备重新启动且 USB 设备保持插入的情况下)
注意:该应用未安装在系统文件夹中,因此无法使用 MANAGE_USB 权限。
无法保持 USB 权限, 因为重启选项会强制停止所有操作,通常它也会拔掉 USB。
有一种可能要求在重新启动时重新插入 USB。
是否可以确保权限弹窗只显示一次? 否
因为如果您连接的 USB 造成死锁情况,他们会拔掉它,而不是干扰系统。
所以USB Plugged-in是不可能的。
解决方案是使用 Intent 过滤器并在关联的 activity 上添加 android:directBootAware="true"
属性,以便在启动后正确接收 USB_DEVICE_ATTACHED
事件。