¿Cómo hacer una aplicación básica Android Host USB?

Estoy tratando de desarrollar una aplicación que detecta un dispositivo USB y muestra un pop-up cuando está conectado. He seguido el tutorial USB básico que puede encontrar en el sitio web de desarrolladores de Android ( http://developer.android.com/guide/topics/connectivity/usb/host.html )

Aquí está mi Manifiesto de Android:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.habeis" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter> <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" /> </activity> </application> </manifest> 

Y mi archivo device_filter.xml:

  <?xml version="1.0" encoding="utf-8"?> <resources> <usb-device vendor-id="0x1BCF" product-id="0x0007" /> </resources> 

Mi actividad

 package br.com.habeis; import java.util.HashMap; import java.util.Iterator; import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbManager; import android.os.Bundle; import android.widget.Toast; import android.app.Activity; import android.content.Context; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); HashMap<String, UsbDevice> deviceList = manager.getDeviceList(); Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); while(deviceIterator.hasNext()){ UsbDevice device = deviceIterator.next(); Toast.makeText(this,"Value of device :" +device.getDeviceName(), Toast.LENGTH_LONG).show(); } } } 

¿Alguien sabe lo que falta en mi código?

Mi conjetura es que su vendor-id y product-id están en hexadecimal y necesitan ser enteros. No está muy bien documentado, pero la comprobación https://stackoverflow.com/a/8328814/1302183

Debe ser en números enteros, convertirlos en enteros y luego usar el archivo de filtro de dispositivo

  • Google Glass no aparece como dispositivo Android por ADB
  • Android Tablet no puede encontrar el dispositivo USB a través de puerto USB, pero puede a través de OTG cable
  • Comunicación USB de Android
  • ¿Cómo leer / escribir almacenamiento externo USB en Android?
  • Android USBHost unidad flash
  • Cómo usb -conecta dispositivos android con adb bajo ubuntu
  • HttpClient de Android que envía la petición a la máquina de anfitrión sobre USB
  • USB_DEVICE_ATTACHED sólo iniciaActividad de Galaxy S3 ICS
  • Android: Comunicación USB Android <-> Dispositivo externo
  • Cómo cargar mi aplicación de Eclipse a mi teléfono Android en lugar de AVD
  • ¿Cómo puedo habilitar USB Tethering mediante programación en un dispositivo Android 4.0?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.