USB host permission lost after reconnect on Android 13 kiosk — fix
Android
When a USB device is disconnected and reconnected on an Android 13 kiosk, the kiosk app loses USB host access and displays a permission prompt, interrupting the user session.
Why this happens
Android's security model treats every USB reconnection or re-enumeration event as a new device attachment and requires the host app to receive permission again. On most devices this permission is cached automatically, but on Android 13 non-GMS (non-Google Mobile Services) OEM firmware, this cache is not reliably restored after a power cycle or cable reconnect. Because Esper Agent operates within Android's permission boundary, it cannot override this behavior at the OS level.
Before you start
Confirm all of the following apply to your situation:
- The device runs Android 13 non-GMS OEM firmware (not Esper Foundation)
- The device does not use Samsung Knox
- The kiosk app loses USB host access after a cable reconnect or device power cycle, triggering a permission dialog
If your device runs Esper Foundation or Samsung Knox, this specific behavior may not apply. Contact Esper Support with your device model for confirmation.
Solution 1: Add a USB device filter to the app manifest (recommended)
- Identify the vendor ID (VID) and product ID (PID) of the USB device. These are available in the device's technical documentation or by using a USB info app on an Android device.
- Contact your application developer and request that they add a
<usb-device>intent filter to the app'sAndroidManifest.xml, referencing the VID and PID. This tells Android to automatically grant the app permission for that specific USB device without a prompt.<device-filter> <usb-device vendor-id="0x1234" product-id="0x5678" /> </device-filter> - Have the developer rebuild and publish the updated app version.
- Deploy the updated app to affected devices through Apps & Configuration → Apps, selecting the new version and applying it to the relevant device group.
- Disconnect and reconnect the USB device to confirm the app reattaches without displaying a permission prompt.
After the user grants permission once with this manifest change in place, Android caches the grant and restores it automatically on all future reconnections.
Solution 2: Request a USB whitelist from your device OEM
- Contact your device manufacturer directly and ask whether they provide any of the following:
- An OEMConfig profile that pre-authorizes USB devices
- A USB device whitelist setting in firmware
- A system-level permission policy for kiosk applications
- If the OEM provides an OEMConfig schema, apply it in the Esper Console under Devices & Groups → [Device Name] → Settings → OEMConfig. This pushes the manufacturer's custom configuration directly to the device.
- Reconnect the USB device to confirm the permission prompt no longer appears.
Solution 3: Migrate to an Esper Foundation device
Esper Foundation provides deeper OS-level integration that enables automatic USB permission grants without app manifest changes or OEM-specific workarounds. If your deployment timeline allows for a device transition, contact Esper Support to identify Esper Foundation-supported device models available in your region.
Verify: After applying your chosen solution, disconnect and reconnect the USB device three times in succession. The kiosk app should reattach automatically each time with no permission dialog appearing and no user interaction required.If this doesn't resolve it
Contact Esper Support and include the following information so the issue can be investigated without delay:
- Device make, model, and exact firmware version
- Esper Agent version, visible under Devices & Groups → [Device Name] → Device Info
- The VID and PID of the USB device
- The package name of the kiosk application
- A bug report captured immediately after the permission prompt appears, generated from Devices & Groups → [Device Name] → Activity Feed
- Confirmation of which solution above was attempted and the result
Still need help?
If the steps above don't resolve the issue, submit a support ticket with your device model, Android version, Esper Agent version, and a description of what you've already tried — this helps the support team investigate without a follow-up.
Please sign in to leave a comment.
Comments
0 comments