¿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:
- Utilizar cámara USB en la aplicación de Android
- Opciones de cámara externa de Android: superposición en la parte superior de la secuencia de vídeo, sin servidor intermediario / enrutador
- Android USB API: cambia entre carga y envío de datos
- Explicación sobre controltransfer en android para configurar la comunicación USB
- Aparato de almacenamiento masivo USB 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?
- Android: Comunicación con un dispositivo USB que actúa como host
- Android 4.2.2 Depuración USB "Permitir siempre desde este equipo" opción resultado en el objetivo desconocido para el dispositivo?
- Micromax a111 no es detectado por adb
- Enviar datos desde android a PC vía USB
- Comunicación USB con Android / Arduino
- ¿Cómo utilizar el dispositivo USB en Android Versión inferior como Android 2.2?
- Cámara web externa para cámara a android usando usb
- ¿Cómo montar la trayectoria del USB en androide?
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