¿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:
- Explicación sobre controltransfer en android para configurar la comunicación USB
- Qué es SingleAdbInterface, CompositeAdbInterface y SingleBootLoaderInterface en android_winusb.inf
- El desarrollo de una aplicación de comunicación de dispositivos especiales que se conecta a través de puerto USB en Android
- Problema de conexión USB AOA
- Android depura una aplicación de accesorios USB
<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?
- No se puede configurar los controladores de usb para depurar en Galaxy Nexus
- Problema de host Android con el tablet Samsung Galaxy 10.1
- Cómo subir un archivo en Android a PC a través de USB
- Comunicación USB entre Android (modo accesorio) y Windows PC (host)
- Permiso de dispositivo USB y filtro de intenciones Android
- Registrar la aplicación para iniciar cuando el elemento USB está conectado a la PC
- ¿Cómo comunicarse con un dispositivo USB desde una tableta Android?
- Comuníquese con el lector de tarjetas inteligentes a través del host USB de Android
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
- La opción UnManaged no está disponible en la consola de Google Play para desarrolladores
- Archivos descargados que no aparecen en la aplicación de descargas de android