我试图让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 :(得分:1)
对我来说有用的是在将元素[0]分配给mAccessory之前检查accessoryList是否为空。
UsbAccessory mAccessory = (accessoryList == null ? null : accessoryList[0]);
希望你能在此期间解决问题。
答案 1 :(得分:0)
你是2.3.4还是3.1?看到这个链接: http://developer.android.com/guide/topics/usb/accessory.html#usage