如何设置USB连接模式?

问题描述 投票:0回答:5

我正在编写一个应用程序,该应用程序应该将数据转储到SD卡上,然后编写一个PC上的另一个应用程序,当设备连接到PC时(在光盘驱动器模式下),该应用程序应该读取数据。 在我的 HTC Legend 上,有一个对话框可供选择:仅充电、HTC Sync、磁盘驱动器..

是否可以设置设备与电脑的连接模式 或者至少意图要求用户切换模式?

android usb connectivity
5个回答
0
投票

我还没有找到以编程方式设置模式的方法,但我相信您可以通过调用系统从通知区域调用的相同活动来以编程方式调出设置菜单。不幸的是,这似乎是特定于制造商的:在我的手机上是

com.htc.android.psclient.SwitchUsbSettings


0
投票

在 HTC 设备上,在“管理应用程序”(ICS - 可能也适用于 Gingerbread;不记得了)中打开 ConnectToPC 服务(未插入 USB 时),然后点击“清除数据”。然后,再次插回 USB,您应该可以选择“不再询问”。选择您想要的模式,选中该框并接受。


0
投票
当您在 Android 应用程序中请求 USB 同步时,CompanionLink 会执行此操作:它将数据刷新到 SD,然后将 SD 作为 USB 上的存储(“磁盘驱动器”)导出,然后等待用户在以下情况下手动向 Android 应用程序发出信号: PC 结束使用 SD,然后再次撤消 SD 导出到 USB。尽管 CompanionLink 应用程序使用起来非常令人沮丧,但至少它的这一部分(很大程度上)是可靠的。

不幸的是,我不知道技术细节,可能需要在这几个月里自己弄清楚它们。如果你无法从 android 文档中获得任何牵引力,也许你可以研究 CompanionLink 在 android 上做了什么来实现这一点。我上面描述的顺序是当它配置为通过 USB 与(基于 PC 的)Palm 桌面同步时的顺序。

顺便说一句,这个高度复杂的过程的原因似乎是直接访问SD卡的FS,并且至少目前使用的卡FAT FS只能支持单个客户端:手机本身或USB。在我看来,如果可以并发共享访问 SD 将会非常有帮助,但这可能需要对 Android 进行深入的更改。


0
投票
对于任何使用 HTC One M8 遇到此问题的人来说,这有点离谱,但它表明了要跳出框框思考。 USB 连接导致设备充电,仅此而已。

解决方案是结合使用不同的 USB 电缆,卸载名为 Battery Doctor 的应用程序(它显然喜欢管理电池周围的所有内容),以及 USB 网络设置 - 打开智能网络共享...看似无关...但这组合让我与 MobileGo for Android 连接来管理和备份文件、联系人和设置。

希望这对某人有帮助。


-1
投票
是的。在 Android 中,有一种方法可以在设备与 PC 连接时更改设备 USB 模式的行为。 我使用了 Motorola Milestone[运行 2.1],并且能够在以下模式之间切换: PC Suite[摩托罗拉开发]、MemoryCardAccess 和 Charge 单独使用。 如果您需要访问手机内存,我认为您应该在设备中打开“USB 调试模式”。虽然我不确定,但我觉得它可能很方便!

© www.soinside.com 2019 - 2024. All rights reserved.