对于UsbManager类型,方法getAccessory(Intent)未定义

时间:2013-01-12 14:20:49

标签: android adk

我正在开发一个关于android的项目,我正在尝试在设备和ADK之间建立连接我的问题是.getAccessory();方法。它应该取自UsbManager类,但是eclipse会抛出以下错误:

未定义类型为UsbManager的方法getAccessory(Intent)

我的代码示例在这里:

private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver(){

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String action = intent.getAction();
        if(ACTION_USB_PERMISSION.equals(action)){
            synchronized (this) {
                UsbAccessory accessory = UsbManager.getAccesory(intent);
                if(intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)){
                    openAccessory(accessory);//q
                }
            }
        }

        else if (UsbManager.ACTION_USB_ACCESSORY_DETACHED.equals(action)){
            UsbAccessory accessory = UsbManager.getAccessory(intent);
            if(accessory != null && accessory.equals(mAccesory)){
                closeAccessory();//q
            }
        }
    }

};

你知道该怎么办吗?

也许我错了,在这种情况下我可以用它来完成它的任务吗?

编辑:JVM也无法看到我在getInstance()中使用的OnCreate(Bundle savedInstanceState)方法。

2 个答案:

答案 0 :(得分:0)

我刚刚完成了我的项目构建目标4.0.3到Google API(API lvl 17)并且它已经解决了

答案 1 :(得分:0)

您必须从这些导入中使用UsbManager和UsbAccessory:

import com.android.future.usb.UsbAccessory;
import com.android.future.usb.UsbManager;

不是来自

import android.hardware.usb.UsbAccessory;
import android.hardware.usb.UsbManager;

为了拥有UsbManager.getAccessory(intent);