5

Intent中有一个常量名为ACTION_DOCK_EVENT

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

对接状态是什么意思?

4

4 回答 4

2

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

如果设备已对接,则可以将其对接在四种不同类型的对接中的任何一种中:

  • 桌子
  • 低端(模拟)办公桌
  • 高端(数字)办公桌

资源在这里

于 2013-04-22T06:35:24.323 回答
1

对接状态是什么意思

对接状态通常是指您的充电状态,可能是car、或home dock,Android 设备可以对接到几种不同类型的 Dock 中。digitalanalog docks

确定当前的对接状态

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

IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
Intent dockStatus = context.registerReceiver(null, ifilter);
于 2013-04-22T06:35:22.400 回答
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 extra 中提取当前的对接状态:

        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 操作。要监控设备停靠状态的变化,只需在应用程序清单中注册一个广播接收器,如下面的片段所示:action android:name="android.intent.action.ACTION_DOCK_EVENT"

希望这可以帮助。

于 2014-03-01T15:43:11.333 回答
0

来自GeeksForGeeks帖子:

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

于 2021-01-14T07:45:31.760 回答