3

我想在 C#.net 中构建一个 Windows 应用程序,当您将 Android 设备连接到计算机时,它应该识别已安装的 Adroid OS 版本(例如 4.0)和用户友好的设备名称(例如三星 Galaxy S3、三星 Galaxy Tab 8.9 等)通过 USB。

我尝试与System.Management班级一起识别我机器上连接的 USB 设备,但是,我遇到的问题是:

我只有 3 个 USB 端口,并在其中一个 USB 端口上连接了三星 Galaxy Tab 8.9,并尝试获取使用的 USB 设备列表,USBhub WMI class我在列表中得到了大约 6-7 个结果,包括三星设备。所以,这里的问题是:

  1. 为什么我在查询 USBHub 时得到 6-7 个结果?我在这里做错什么了吗?

  2. 如何过滤我的记录以仅列出连接了外部设备的那些 USB 端口而不是 6-7 结果?

  3. 我找不到我期望的正确/用户友好的设备名称(例如三星 Galaxy Tab 8.9),也无法获得 Android 版本的操作系统。我尝试了“Caption”和“Description”属性,但它们具有非常通用的信息,例如“Samsung”。如何获取用户友好的设备名称和设备上安装的 Android 操作系统版本。

4

2 回答 2

16

您可以使用 Android SDK 中的Android 调试桥从连接的设备中查询属性。您可以简单地adb.exe从 .NET 中启动该过程并使用结果。

例如adb.exe shell getprop ro.product.model会给你型号名称,adb.exe shell getprop ro.build.version.release会给你Android版本号。要获取给定设备的所有可用属性的完整列表,您也可以只运行adb.exe shell getprop.

请注意,属性名称并没有真正标准化,制造商不需要输入有价值的名称。产品型号通常包含设备的代号或产品标识符,在消费者中不常用来识别产品。

于 2013-03-08T23:44:55.773 回答
0

我认为我们需要更改设备设置

1> 在你的 android 上,转到设置 -> 应用程序 -> 开发

2> 检查 USB 调试

3> 确保您的设备驱动程序已经安装。

Android 4.2 及更高版本带有安全性,不允许您在不更改设置的情况下触发 ADB 命令。

问候, 雅利安

于 2014-02-23T08:01:05.947 回答