Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图使用com.android.future.usb.UsbAccessory&;UsbManager名称空间_C#_Android_Xamarin.android - Fatal编程技术网

C# 试图使用com.android.future.usb.UsbAccessory&;UsbManager名称空间

C# 试图使用com.android.future.usb.UsbAccessory&;UsbManager名称空间,c#,android,xamarin.android,C#,Android,Xamarin.android,在这个网站上,我们找到了有关要使用的框架的相关信息:(我们决定使用Android 2.3) com.android.future.usb:为了支持android 2.3.4中的usb附件模式,Google API附加库包括后端口usb附件API,它们包含在这个名称空间中。Android 3.1还支持导入和调用此命名空间中的类,以支持使用附加库编写的应用程序。此附加程序库是android.hardware.usb附件API的薄包装,不支持usb主机模式。如果要支持最广泛的支持USB附件模式的设备

在这个网站上,我们找到了有关要使用的框架的相关信息:(我们决定使用Android 2.3)

com.android.future.usb:为了支持android 2.3.4中的usb附件模式,Google API附加库包括后端口usb附件API,它们包含在这个名称空间中。Android 3.1还支持导入和调用此命名空间中的类,以支持使用附加库编写的应用程序。此附加程序库是android.hardware.usb附件API的薄包装,不支持usb主机模式。如果要支持最广泛的支持USB附件模式的设备,请使用附加程序库并导入此软件包。需要注意的是,并非所有Android 2.3.4设备都需要支持USB附件功能。每个设备制造商决定是否支持此功能,这就是为什么您必须在清单文件中声明此功能

此外,在选择正确的USB附件API一节下,它指出您应该使用Android 2.3.4或Android 3.1 API

我们正在尝试在一个基本测试程序中使用以下代码,看看是否可以连接到Sumsung Droid手机上的USB设备

C#代码:

UsbManager deviceManager = null;
UsbAccessory[] accessories = null;
UsbAccessory accessory = null;
我们尝试使用Android.Hardware;在VS 2010中

1) 这可能吗? 2) 如何访问Android usb命名空间


我们有很多C代码需要重用,所以用Java编写应用程序不是我们的首选。有什么想法吗?谢谢大家!

看看MonoDroid API,您似乎需要Android.Hardware.Usb名称空间。这里有一个指向我找到它的API参考的链接。不过我还没有测试过


Android.Hardware.Usb名称空间提供了与连接到Android设备的Usb硬件外围设备通信的支持。。。如果Android驱动的设备充当USB主机,则使用UsbDevice与硬件外围设备通信。如果外围设备用作USB主机,请使用UsbAccessory。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~不幸的是,C#不允许在硬件名称空间之后使用.Usb。我们也尝试过这个方法。这可能也会引起一些兴趣:VS 2010只允许选择框架(Android 1.6、2.1、2.2和2.3)…如果需要3或4,我们无法找到提高这一水平的方法。我删除了我的评论,因为我现在在该命名空间中出现了构建错误。今天,我们将为一个项目做更多的研究。我们发现:…该库公开了一个框架API,让应用程序能够发现、与通过USB连接的各种设备类型进行通信和管理。它还针对Android平台中未直接暴露于Android 2.3.4中的应用程序的部分提供API的实现。这是我们从Xamarin得到的:UsbManager支持仅通过Android SDK for Android 3.1(12级)提供。谷歌提供了一个可以与Android 2.3.4一起使用的第三方库,为UsbManager提供该版本操作系统的使用,但我们还没有一种公开第三方库的简单方法(这是我们正在努力支持的)。您可以自己使用JNI手动创建到库的绑定(这是我们将来支持它的方式,除非我们正在开发一个生成器,使这些绑定几乎可以自动创建)。