在Android中你的意思是对接状态

时间:2013-04-22 06:19:57

标签: android android-intent dock

在Intent中,有一个名为ACTION_DOCK_EVENT

的常量

API level 5中添加了 广播操作:用于更改设备物理对接状态的粘性广播。

对接状态是什么意思?

4 个答案:

答案 0 :(得分:2)

Android设备可以停靠在几种不同类型的基座设备中。这些包括汽车或家庭码头以及数字与模拟码头。因此,当设备的扩展坞发生更改时,它会抛出ACTION_DOCK_EVENT

的意图

如果设备已停靠,则可将其停靠在四种不同类型的基座中的任何一种:

  • 汽车
  • 低端(模拟)服务台
  • 高端(数字)服务台

资源here

答案 1 :(得分:1)

  

对接状态是什么意思

停靠状态通常表示您的充电状态,可能是carhome dockdigitalanalog docks,Android设备可以停靠在几种不同的码头中

确定当前停靠状态

dock-state操作的粘性广播中包含ACTION_DOCK_EVENT详细信息。因为它是sticky,所以您无需注册BroadcastReceiver。你可以简单地调用registerReceiver()作为广播接收器传入null,如下一个片段所示。

IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
Intent dockStatus = context.registerReceiver(null, ifilter);

答案 2 :(得分:0)

停靠状态详细信息作为额外信息包含在ACTION_DOCK_EVENT操作的粘性广播中。因为它很粘,所以您不需要注册BroadcastReceiver。您可以简单地调用registerReceiver()作为广播接收器传入null,如下一个片段所示。

        mContext = getApplicationContext();
        IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
        Intent dockStatus = registerReceiver(null, ifilter);

您可以从额外的EXTRA_DOCK_STATE提取当前停靠状态:

        int dockState = (dockStatus == null ?
            Intent.EXTRA_DOCK_STATE_UNDOCKED :
            dockStatus.getIntExtra(Intent.EXTRA_DOCK_STATE, -1));
        boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
        boolean isCar = dockState == Intent.EXTRA_DOCK_STATE_CAR;

每当设备停靠或取消停靠时,都会广播ACTION_DOCK_EVENT操作。要监视设备的停靠状态的变化,只需在应用程序清单中注册广播接收器,如下面的代码段所示: 动作android:name =“android.intent.action.ACTION_DOCK_EVENT”

希望这有帮助。

答案 3 :(得分:0)

来自 GeeksForGeeks 个帖子:

<块引用>

扩展坞是一种能够与 Android 内核触发对接相关事件并修改 对接文件状态。扩展坞可以使系统和应用程序 任何被编程的东西。一个示例显示了不同的布局 在停靠状态。它也可能打开一个音乐播放器应用程序,播放音乐 自动在桌面模式下,如果它是这样编程的,打开一个 汽车模式下的地图/导航应用程序等。 Dock 模式在 不同的手机,但它经常把你的手机变成座钟, 照片幻灯片查看器或音乐播放器。您也可以将其设置为 接听电话时免提。码头内置于 自放大扬声器或音乐盒,或者它是一个独立的单元 通过 USB 连接到计算机、充电器或家庭影院 设备。一些扩展坞使用 USB 进行充电,使用蓝牙进行播放 音乐。此模式是在某些手机上可以检测到的功能, 包括许多三星手机,但不是检测到的功能 每部手机或手机的每个版本。例如,三星 Galaxy S2、S3 和 S4 有停靠模式,但 S5 没有。请检查 您的手机功能以确保您的手机配备基座 模式。