2012-07-24 29 views
8

Tôi đang cố gắng phát triển một ứng dụng phát hiện thiết bị USB và hiển thị cửa sổ bật lên khi được kết nối. Tôi làm theo các hướng dẫn cơ bản USB mà bạn có thể tìm thấy trong trang web của Nhà phát triển Android (http://developer.android.com/guide/topics/connectivity/usb/host.html)Cách tạo ứng dụng Máy chủ lưu trữ USB Android cơ bản?

Dưới đây là Android Manifest của tôi:

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

Và tập tin device_filter.xml tôi:

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

Hoạt động của tôi

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

     } 
    } 



} 

Có ai biết những gì còn thiếu trong mã của tôi?

Trả lời

8

Đoán của tôi là id nhà cung cấp và id sản phẩm của bạn ở dạng hex và chúng cần phải là số nguyên. Tài liệu không được ghi rõ lắm nhưng thanh toán https://stackoverflow.com/a/8328814/1302183

1

phải là số nguyên, chuyển đổi thành số nguyên và sau đó sử dụng tệp bộ lọc thiết bị

Các vấn đề liên quan