我正在按照步骤使用 ADK 通过 Android Studio 控制 mbed
但是他们的 mbed adkport 代码(向下滚动到 adkport 超链接)需要这些导入
import com.android.future.usb.UsbAccessory;
import com.android.future.usb.UsbManager;
我注意到另一个线程建议开发人员的解决方案是将其切换到 android.hardware.usb,但是当我这样做时,3 条不同的行将不起作用,因为基于硬件的包不支持 getAccessory和getInstance符号
这个问题有什么解决办法吗?无法理解它
我尝试按照替换代码的步骤来使用 android.hardware.usb 但我仍然遇到他们自己的android 开发人员例程的问题
//mManager = UsbManager.getInstance(context);
UsbManager mManager = (UsbManager) getSystemService(Context.USB_SERVICE);
但是现在它无法识别 getSystemService
这就是失败的地方。
public void setup(Context context)
{
//mManager = UsbManager.getInstance(context);
UsbManager mManager = (UsbManager) getSystemService(Context.USB_SERVICE); //<-----
UsbAccessory[] accessoryList = mManager.getAccessoryList();
PendingIntent mPermissionIntent = PendingIntent.getBroadcast(context, 0,
new Intent(ACTION_USB_PERMISSION), 0);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
context.registerReceiver(mUsbReceiver, filter);
mManager.requestPermission(accessoryList[0], mPermissionIntent);
if (accessoryList[0] != null) {
mAccessory = accessoryList[0];
if(mManager.hasPermission(mAccessory))
{
openAccessory(mAccessory);
}
}
}