如何在android usb host vendor-id值中创建int值

时间:2013-08-01 03:29:02

标签: android usb

我正在为我的Android应用程序使用USB主机API。我的代码遵循开发人员site中的要求。现在我在device_filter.xml上遇到问题,Android无法将vendor-id="03eb"识别为int

它给了我这个警告:

W/UsbSettingsManager( 1455): java.lang.NumberFormatException: Invalid int: "03eb"
W/UsbSettingsManager( 1455): at java.lang.Integer.invalidInt(Integer.java:138)
W/UsbSettingsManager( 1455): at java.lang.Integer.parse(Integer.java:375)

这是事实,但如何将其变为int中的<usb-device vendor-id="03eb"

enter image description here

AndroidManifest.xml文件:

<activity
    android:name="com.example.usb.MainActivity"
    android:label="@string/app_name" >
    <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>

在device_filter.xml

<resources>
    <usb-device vendor-id="03eb" product-id="6201" />
</resources>

1 个答案:

答案 0 :(得分:3)

供应商和产品ID必须是整数,但您传递的是十六进制值。您只需将十六进制转换为整数表示即可。 See this link.以下是转化次数:

03eb - &gt; 1003

6201 - &gt; 25089