我正在编写一个应用程序,该应用程序应该将数据转储到SD卡上,然后编写一个PC上的另一个应用程序,当设备连接到PC时(在光盘驱动器模式下),该应用程序应该读取数据。 在我的 HTC Legend 上,有一个对话框可供选择:仅充电、HTC Sync、磁盘驱动器..
是否可以设置设备与电脑的连接模式 或者至少意图要求用户切换模式?
我还没有找到以编程方式设置模式的方法,但我相信您可以通过调用系统从通知区域调用的相同活动来以编程方式调出设置菜单。不幸的是,这似乎是特定于制造商的:在我的手机上是
com.htc.android.psclient.SwitchUsbSettings
。
在 HTC 设备上,在“管理应用程序”(ICS - 可能也适用于 Gingerbread;不记得了)中打开 ConnectToPC 服务(未插入 USB 时),然后点击“清除数据”。然后,再次插回 USB,您应该可以选择“不再询问”。选择您想要的模式,选中该框并接受。
不幸的是,我不知道技术细节,可能需要在这几个月里自己弄清楚它们。如果你无法从 android 文档中获得任何牵引力,也许你可以研究 CompanionLink 在 android 上做了什么来实现这一点。我上面描述的顺序是当它配置为通过 USB 与(基于 PC 的)Palm 桌面同步时的顺序。
顺便说一句,这个高度复杂的过程的原因似乎是直接访问SD卡的FS,并且至少目前使用的卡FAT FS只能支持单个客户端:手机本身或USB。在我看来,如果可以并发共享访问 SD 将会非常有帮助,但这可能需要对 Android 进行深入的更改。
解决方案是结合使用不同的 USB 电缆,卸载名为 Battery Doctor 的应用程序(它显然喜欢管理电池周围的所有内容),以及 USB 网络设置 - 打开智能网络共享...看似无关...但这组合让我与 MobileGo for Android 连接来管理和备份文件、联系人和设置。
希望这对某人有帮助。