2012-07-24 15 views
8

Estoy tratando de desarrollar una aplicación que detecta un dispositivo USB y muestra una ventana emergente cuando está conectado. he seguido el tutorial básico USB que se puede encontrar en el sitio web de desarrolladores de Android (http://developer.android.com/guide/topics/connectivity/usb/host.html)¿Cómo hacer una aplicación básica USB Host USB?

Aquí es 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? ¿Qué falta en mi código?

Respuesta

1

debe ser en números enteros, convertirlos en números enteros y luego usarlo el archivo de filtro de dispositivo