Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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
Android 智能手机&;平板电脑-插入电脑_Android_Cocoa Touch_Cocoa_Connection_Device - Fatal编程技术网

Android 智能手机&;平板电脑-插入电脑

Android 智能手机&;平板电脑-插入电脑,android,cocoa-touch,cocoa,connection,device,Android,Cocoa Touch,Cocoa,Connection,Device,有没有办法确定是否将智能手机或平板电脑(iOS或Android)插入计算机 手机/平板电脑透视图(即已连接到计算机)或计算机透视图(即已连接设备)都可以 如果是从计算机的角度来看的话,它必须通过MacOSX应用程序。 如果是从手机/平板电脑的角度来看,则需要将其与单纯的充电区别开来 一般的想法是确定用户何时在他们的计算机旁 注意:为了进行此确定,我需要识别设备。对于iOS,使用设备UUID(类似于APNS中使用的设备UUID)。在安卓系统中,硬件和软件ID结合在一起。因此,如果从计算机的角度来看

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

手机/平板电脑透视图(即
已连接到计算机
)或计算机透视图(即
已连接设备
)都可以

如果是从计算机的角度来看的话,它必须通过MacOSX应用程序。 如果是从手机/平板电脑的角度来看,则需要将其与单纯的充电区别开来

一般的想法是确定用户何时在他们的计算机旁

注意:为了进行此确定,我需要识别设备。对于iOS,使用设备UUID(类似于APNS中使用的设备UUID)。在安卓系统中,硬件和软件ID结合在一起。因此,如果从计算机的角度来看这个解决方案,我需要能够获得这些字符串。否则,我需要能够将它们传递到计算机


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

简单解决方案

考虑通过
NSTask

当我的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-xml
xml
格式输出结果:

<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>

_名字
苹果手机
产品标识
0x1292
b_供应商id
苹果\u供应商\u id
c_bcd_装置
0.01
d_序列号
电子设备速度
高速
f_制造商
苹果公司。
g_位置\u id
0xfa140000/6
总线电源
500
j_总线_电源_使用
500
k_额外_当前_使用
500

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

关于iPhone/iPad:有没有办法从该应用程序获取硬件UUID?运行
system\u profiler SPHardwareDataType-XML
显示Mac本身的UUID,查找
平台UUID
键。不幸的是,
system\u profiler
无法为连接的iDevices提供UUID。尽管我非常喜欢这个答案的简单性,但它并不能提供我从每个设备所需的100%信息。我在这个问题中添加了更多的上下文,暂时不回答。再次感谢!我想我是在为我的实际问题寻找错误的解决方案,所以这里的问题肯定是对的。