
手机
在我撰写这个回答之时,此问题下已有4个回答。除了那个看起来像是广告机器人所给出的回答稍微沾点边(出于安全方面的考虑)之外,其余的回答均不正确。首先,这与OTG或者type C毫无关联。过去,microB接口是支持OTG自动协商的,甚至还有双向的microB接口,我在编写USB驱动的时候就曾见到过。而且那些提及OTG的人,真的清楚OTG是什么吗?OTG的完整功能是在不切断连接的情况下,能够动态地进行主从切换。暂且不说PC端只有主机(host)模式而没有设备(device)模式,这种动态的模式切换和文件传输有关系吗?其次,这和驱动不完善也扯不上关系。OTG驱动很早就存在了,实际上它对驱动的要求并不高。在
手机上使用的OTG,由于不需要主机协商协议(HNP)/ 会话请求协议(RSP)这些功能,只支持一个附属设备协议(ADP)就足够了,根本不需要复杂的状态机。再次,过去的U盘模式同样也是对SD卡进行访问。早期部分型号的
安卓手机,在连接PC机之后,也需要在
手机上进行一下选择操作。另外,
苹果用户一直都需要主机端有支持软件才行。现在开始正式回答问题。这与USB协议关系不大,实际上是文件系统方面的问题。如果您对技术细节不感兴趣,可以直接跳到最后看总结内容。以前
手机连接
电脑能够直接使用,仅仅是将
手机上的SD卡当作U盘,允许PC机进行访问。而
手机的内置存储,一直需要采用其他方法(通常是安装一个
客户端软件)才能够访问。并且如果您留意
手机的通知栏,就会发现当您的
手机SD卡作为U盘允许PC机访问时,会有一个SD卡弹出的消息,在这个时候您就无法在
手机上访问SD卡了,直到您断开与PC机的连接。因为作为一个存储介质,如果允许两个操作系统同时访问,那么操作系统A写入的数据,在操作系统B上不一定能够看到,这是由于两边都存在缓存,会出现数据不一致的情况。所以,在任何情况下,SD卡只能让一个操作系统进行访问,要么是您的
手机,要么是您的
电脑。在SD卡普及的那个时期,这种做法对用户的影响其实并不大,所以大多数
手机都采用了这种方式(
苹果手机除外)。从这里也能够看出这种方案存在一些局限性: