Как обнаружить внешнее устройство в Android

Я хочу написать программу для обнаружения любого внешнего устройства, к которому подключен мой телефон Android. например, если я подключаюсь к компьютеру, чтобы поделиться через USB-накопитель, или если я подключаюсь для зарядки.

Какой API или пакет в андроиде отвечает за аппаратные интерфейсы. Как я могу обнаружить любое внешнее устройство, если оно подключено к моему телефону Android.


person Sunil Kumar Sahoo    schedule 20.05.2011    source источник


Ответы (2)


Хотя USB-подключение не является полностью синонимом внешнего питания, это может быть разумным способом его обнаружения для большинства устройств, использующих устаревшие версии.

У намерения ACTION_BATTERY_CHANGED есть константы как для BATTERY_PLUGGED_USB, так и для BATTERY_PLUGGED_AC.

Видеть

http://developer.android.com/reference/android/os/BatteryManager.html

Вы также можете обнаружить потерю каталога внешнего хранилища во время монтирования USB, но сначала имейте в виду, что не все монтируют свое внешнее хранилище при подключении USB, и что новые версии Android вообще не собираются делать прямое монтирование запоминающего устройства USB. .

person Chris Stratton    schedule 20.05.2011
comment
Можем ли мы отключить любое аппаратное событие? - person Sunil Kumar Sahoo; 24.05.2011
comment
Нет, не без создания кастомной сборки андроида. Но у вас, вероятно, есть возможность включить / отключить USB-накопитель и отладку USB. - person Chris Stratton; 24.05.2011

Кажется, что для 2.3.4 и 3.1 вы используете USB API.

person Vladimir Ivanov    schedule 20.05.2011