我正在尝试从我的活动中使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]);
希望您在此期间整理出一些东西。