Зарегистрировать приложение для запуска при подключении USB-устройства к ПК

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

Возможно ли зарегистрировать мое приложение для работы с USB-соединением? Как мне это сделать?

Вы можете прослушивать Intent.ACTION_UMS_CONNECTED (режим массового хранения usb запущен) или Intent.ACTION_POWER_CONNECTED (сейчас телефон заряжается) с помощью BroadcastReceiver .

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

Насколько я знаю, нет никакого намерения, которое говорит вам наверняка, что вы подключены к компьютеру (я вижу, что его трудно обнаружить без приложения на ПК) . Возможно, вам захочется прочитать документацию по классу намерений и посмотреть, сможете ли вы найти трансляцию, которую я еще не видел.

В вашем Manifest.xml добавьте следующее:

 <receiver android:name=".BattStatusShow"> <intent-filter> <action android:name="android.intent.action.ums_connected" /> </intent-filter> </receiver> 

Затем добавьте класс статуса батареи BroadcastReceiver , так как вы зарегистрировали его для сообщений USB в файле манифеста.

 public class BattStatusShow extends BroadcastReceiver{ if (intent.getAction().equalsIgnoreCase( "android.intent.action.UMS_CONNECTED")) { //do stuff here, like signal the view of your app it needs to do something } } 

Вы не даете много информации о том, что ваше приложение, но если это всего лишь приложение для отображения батареи, программирование приложения-хоста для ПК, чтобы поговорить с вашим Android-приложением, кажется излишним. Если вы хотите сделать больше, посмотрите, как приложение Nokia PC Station взаимодействует с Nokia и эмулирует поведение.

Вы можете открыть любое приложение со своего мобильного телефона, даже если оно подключено к ПК через USB.

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

http://developer.android.com/guide/topics/usb/accessory.html