2012-07-24 4 views
8

Ich versuche eine Anwendung zu entwickeln, die ein USB-Gerät erkennt und ein Pop-up anzeigt, wenn es verbunden ist. ich die grundlegenden USB-Tutorial gefolgt, die Sie im Android Developers Website finden können (http://developer.android.com/guide/topics/connectivity/usb/host.html)Wie man eine grundlegende Android USB Host Anwendung macht?

Hier ist mein Android Manifest:

<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> 

Und meine device_filter.xml Datei:

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

Meine Aktivität

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(); 

     } 
    } 



} 

weiß jemand, Was fehlt in meinem Code?

Antwort

1

sollte es in ganzen Zahlen, so dass sie in ganzen Zahlen umwandeln und dann die Datei Gerätefilter verwenden