【发布时间】:2011-11-03 05:20:36
【问题描述】:
我看到其他关于检测 USB 连接的帖子,但他们没有专门讨论 MPT,只是更一般的检测,所以我想我会专门询问 MTP。
我正在通过 USB 将我的 Xoom 连接到计算机,并且我希望我的应用程序在 MTP 连接建立时写入一个文件。当 USB 断开且 MTP 服务器停止时,我想写出另一个文件。
所以我想同时检测已连接和未连接的情况。发生这种情况时,我似乎找不到任何发送的意图。
我在 android.developer 上看到了一些测试,例如:
ACTION_MEDIA_SHARED
ACTION_UMS_CONNECTED
ACTION_UMS_DISCONNECTED
但这些用于 USB 大容量存储,Xoom 执行 MTP 而不是 USB 大容量存储。
当您看到 logcat 输出为 USB 连接以及 MTP 服务器启动和停止时,这应该是可能的。
D/Vold (85):USB 已断开
D/Tethering(155):InitialState.processMessage what=4
D/Tethering(155): sendTetherStateChangedBroadcast 0, 0, 0
D/MtpService(2674): 停止 MTP 服务器
D/Tethering(155): sendTetherStateChangedBroadcast 1, 0, 0
D/Tethering(155): interfaceAdded :usb0
D/MtpService(2674): addStorageLocked 65537 /mnt/sdcard
D/MtpService(2674): 启动 MTP 服务器
D/MtpService(2674): addStorageLocked 65537 /mnt/sdcard
D/Vold (85):USB 已连接
有人知道我怎样才能实现我的目标吗?即使是检测 USB 连接/断开连接的能力也可能对我有用,尽管正如我在其他一些帖子中看到的那样,这似乎是不可能的。
谢谢!
【问题讨论】: