如何通过代码连接到桌面扩展坞

Posted

技术标签:

【中文标题】如何通过代码连接到桌面扩展坞【英文标题】:How to connect to desktop dock by code 【发布时间】:2011-01-19 22:30:51 【问题描述】:

如果手机已经与底座配对(未连接),我如何通过代码连接到桌面底座?

【问题讨论】:

您是否要使用意图来启动停靠应用程序?或者您想获取一些信息或对码头活动做些什么? 我想将手机连接到扩展坞并在不将手机放入扩展坞的情况下启动扩展坞应用程序。 【参考方案1】:

您可能需要发送android.intent.action.DOCK_EVENT 的广播事件并以Intent.EXTRA_DOCK_STATE_CAR 或桌面等效项的形式发送额外的Intent.EXTRA_DOCK_STATE。如果你这样做,那么你会弄乱你的手机状态,所以一定要在你的应用程序终止时发送Intent.EXTRA_DOCK_STATE_UNDOCKED...

更新 根据 UiModemanager:启动意图 ACTION_MAIN 和类别 CATEGORY_DESK_DOCK 以显示桌面 UI。这可能是这样做的方法。

【讨论】:

我尝试广播 DOCK_EVENT,但似乎不允许我广播它。发送它会引发 SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.DOCK_EVENT from pid=9517, uid=10134。似乎没有允许应用程序广播这种意图的权限。 我想知道developer.android.com/reference/android/app/UiModeManager.html是否有用【参考方案2】:

如果您只是尝试模拟对接手机,只需使用手机背面的磁铁即可。你只需要确保极性是正确的。一种方法是打开汽车码头。如果发生这种情况,只需翻转磁铁即可获得桌面底座。

【讨论】:

你是认真的吗?底座可以用磁铁触发吗? 是的。这就是所有的码头都是使用surrtan极性的磁铁。不知道你用的是什么手机。但是对于 Droid,手机内部的磁铁放置在摩托罗拉 M 标志和电池盖的凹槽之间,电池盖位于相机右侧,与金色扬声器格栅相对。如果您使用的是其他手机,您可能可以通过 Google 搜索手机上的基座磁铁。 我认为nexus 可能有一块磁铁。我不确定论坛是否具有歧视性 你可以试着在后面慢慢拖一块磁铁。磁铁应该会抓住一点点。 这仅适用于具有霍尔效应传感器的摩托罗拉 Droid/Milestone,该传感器可检测底座状态和类型。 Nexus One 没有这个 AFAIK。我认为它使用底座底部的引脚。

以上是关于如何通过代码连接到桌面扩展坞的主要内容,如果未能解决你的问题,请参考以下文章

获取坞站的MAC地址忽略MAC地址通过

Windows 7 嵌入式(非 CE)USB 大容量存储客户端

QTP+VM:为啥当我没有通过远程桌面连接到虚拟机时,点击命令没有执行?

windows如何通过vnc远程连接到linux系统桌面

来自外部设备的意外输入 - iOS

chrome 扩展背景 - socket.io 连接到 https 而不是 http