【问题标题】:Getting an instance of UsbManger in a (non activity) class with ADK in android 2.3.4在 android 2.3.4 中使用 ADK 在(非活动)类中获取 UsbManger 的实例
【发布时间】:2011-07-25 09:41:55
【问题描述】:

我试图让 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”)

【问题讨论】:

    标签: android usb android-context adk accessory


    【解决方案1】:

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

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

    希望你在此期间解决了一些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 2015-04-14
      • 1970-01-01
      • 2014-09-02
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多