我正在尝试从我的活动中使android ADK在另一个程序包的库中工作,为此我需要各种权限/各种情况的实例。
我尝试将活动上下文传递给函数,然后运行:

public void setup(Context context)
{
    mManager = UsbManager.getInstance(context);
    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];
        openAccessory(mAccessory);
    }
}


但这会导致应用程序崩溃,即使第一行以外的所有内容都已被注释掉。我不完全确定自己在做什么错,并且希望得到任何帮助...(该函数被调用并通过“ this”传递)

最佳答案

对我有用的是在将元素[0]分配给mAccessory之前检查附件列表是否为null。

    UsbAccessory mAccessory = (accessoryList == null ? null : accessoryList[0]);


希望您在此期间整理出一些东西。

07-24 18:41