gpt4 book ai didi

android - 智能手机和平板电脑 - 插入计算机

转载 作者:行者123 更新时间:2023-12-03 18:00:04 25 4
gpt4 key购买 nike

有没有办法确定智能手机或平板电脑(iOS 或 Android)是否已插入计算机?

手机/平板电脑视角(即 isConnectedToComputer)或计算机视角(即 connectedDevices)都可以。

如果从计算机角度来看,则必须通过 Mac OS X 应用程序。如果从手机/平板电脑的角度来看,它需要与简单的充电区分开来。

总体思路是确定用户何时使用计算机。

注意:为了做出此决定,我需要识别设备。对于 iOS,使用设备 UUID(类似于 APNS 中使用的 UUID)。在 Android 中,硬件 ID 和软件 ID 是组合在一起的。所以如果从计算机的角度来解决,我需要能够获取这些字符串。否则,我需要能够将它们传递到计算机。

奖励:如果 Wi-Fi 同步也能被视为“已连接”,那就太棒了。

最佳答案

简单的解决方案

考虑通过 NSTask 使用 system_profiler SPUSBDataType
连接我的 iPhone 后,结果中包含以下内容:

iPhone:

Product ID: 0x1292
Vendor ID: 0x05ac (Apple Inc.)
Version: 0.01
Serial Number:
Speed: Up to 480 Mb/sec
Manufacturer: Apple Inc.
Location ID: 0xfa140000 / 6
Current Available (mA): 500
Current Required (mA): 500
Extra Operating Current (mA): 500

使用system_profiler SPUSBDataType -xmlXML格式输出结果:

<dict>
<key>_name</key>
<string>iPhone</string>
<key>a_product_id</key>
<string>0x1292</string>
<key>b_vendor_id</key>
<string>apple_vendor_id</string>
<key>c_bcd_device</key>
<string> 0.01</string>
<key>d_serial_num</key>
<string></string>
<key>e_device_speed</key>
<string>high_speed</string>
<key>f_manufacturer</key>
<string>Apple Inc.</string>
<key>g_location_id</key>
<string>0xfa140000 / 6</string>
<key>h_bus_power</key>
<string>500</string>
<key>j_bus_power_used</key>
<string>500</string>
<key>k_extra_current_used</key>
<string>500</string>
</dict>

只需解析 XML 即可确定感兴趣的设备是否已连接。

关于android - 智能手机和平板电脑 - 插入计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8087089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com