Two Phones, One Dongle, One Car: Building a Phone Switcher for Android Auto
Description and use
The project implements a phone switcher for a wireless Android Auto dongle, enabling two users to switch connections without manual Bluetooth toggling, using BLE advertisements and the dongle’s web API.
Problem
A wireless Android Auto dongle can only keep one phone linked at a time and offers no command to switch between paired phones, making manual Bluetooth toggling tedious.
Outcome
The project delivers a fully functional phone switcher that allows two users to switch Android Auto connections in a car without manual Bluetooth toggling, using BLE presence, a custom Android Auto app, and the dongle’s web API.
Workflow
- 1. Identify dongle mode via USB VID:PID and MTP responses.
- 2. Use Android Open Accessory (AOA) handshake to switch dongle to accessory mode (18D1:2D00).
- 3. Connect to dongle’s WiFi network and use its web API (POST /cgi-bin/server.cgi) to query device info and settings.
- 4. Implement BLE advertisements from each phone containing a 4‑byte hash of the phone’s Bluetooth name and flags for projecting, request, accept/reject.
- 5. On request, the target phone shows an accept/reject prompt via Android Auto notification, app modal, or regular notification.
- 6. If accepted, the target phone instructs the dongle to restart; the requesting phone then connects automatically.
- 7. Repeat as needed for subsequent switches.
Evidence
The dongle presents itself to the car as an Android phone in accessory mode
Every phone running the app advertises its own state over BLE and listens for the others
If A accepts, it asks the dongle to restart. B, now the only phone looking, connects.
- Record date: 2026-10-26T03:11:18.217Z