首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用getAccessoryList时,UsbManager返回null

调用getAccessoryList时,UsbManager返回null
EN

Stack Overflow用户
提问于 2016-10-19 14:02:28
回答 1查看 1.9K关注 0票数 1

我正在开发一个应用程序,其中android驱动的设备充当USB设备(而不是USB主机)。所以我需要找到我的android设备所连接的主机。下面是我的代码:

代码语言:javascript
复制
btnRefresh.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //UsbAccessory[] usbAccessory = new UsbAccessory[1];
                mUsbManager = (UsbManager)getSystemService(Context.USB_SERVICE);
                usbAccessory = mUsbManager.getAccessoryList();
                List<String> accessoryListTemp= new ArrayList<String>();

                if (usbAccessory != null) {
                    if (usbAccessory.length > 0) {
                        String hhhh = usbAccessory[0].getModel();
                        accessoryListTemp.add(hhhh);
                    }
                }
                //accessoryListTemp.add("hamed test item");
                ArrayAdapter<String> arrayAdapterTemp = new ArrayAdapter<String>(getApplicationContext(),
                       android.R.layout.simple_spinner_item, accessoryListTemp);
                arrayAdapterTemp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

                spinnerHosts.setAdapter(arrayAdapterTemp);
            }
        });

我不明白为什么我在accessoryListTemp变量中得到了null。这可能意味着找不到设备,但实际上我的设备已连接,其他设备找到了它。具体地说,我正在通过USB连接两个android手机,其中一个是主机,另一个是设备,但设备无法识别主机。

EN

回答 1

Stack Overflow用户

发布于 2016-10-19 14:42:03

警告:您应该使用正确的OTG行!!check android.hardware.usb.accessory in uses-feature

代码语言:javascript
复制
<manifest ...>
<uses-feature android:name="android.hardware.usb.accessory" />

<uses-sdk android:minSdkVersion="<version>" />
...
<application>
  <uses-library android:name="com.android.future.usb.accessory" />
    <activity ...>
        ...
        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
        </intent-filter>

        <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
            android:resource="@xml/accessory_filter" />
    </activity>
</application>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40123389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档