确定和监测对接状态和类型

确定和监测对接状态和类型

Android设备可以分为几种不同类型的码头停靠。这些措施包括汽车或家庭码头和数字与模拟码头。该码头状态通常是紧密联系在一起的许多码头对接设备提供电源的充电状态。

如何码头状态的手机会影响您的更新率取决于你的应用程序。当它在台式机扩展底座,您可以选择增加一个体育中心的应用程序的更新频率,或完全禁用,如果该设备是车停靠。相反,你可以选择更新,同时最大限度地提高您的车停靠,如果你的后台服务更新的交通条件。

该码头的状态还播出了一个棘手的意图,让您查询,如果该设备是停靠或不,如果是这样,在何种码头。

确定当前处于对接状态


作为一个额外的粘广播的ACTION_DOCK_EVENT行动码头状态的详细信息。因为它是粘的,你不需要注册 的BroadcastReceiver。你可以简单地调用registerReceiver()通过在的广播接收器在未来的片段。

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

您可以提取当前的对接状态从该EXTRA_DOCK_STATE的额外:

int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;

确定当前基座类型


如果一台设备停靠时,它可以在任何一个四种不同类型的码头停靠:

    • Car
    • Desk
    • Low-End (Analog) Desk
    • High-End (Digital) Desk

请注意,后两个选项,只引进到Android API 11级,所以这是很好的做法,检查所有三个码头而不是它是数字或模拟具体的类型,你只关心:

boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || 
                 dockState == EXTRA_DOCK_STATE_LE_DESK ||
                 dockState == EXTRA_DOCK_STATE_HE_DESK;

监测Dock中的状态或种类的变化


每当设备停靠或脱开,ACTION_DOCK_EVENT的行动广播。监控设备的基座状态的变化,简单地注册一个广播接收应用程序清单下面的代码片段所示:

<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>

您可以提取码头内的接收器实现使用相同的技术在上一步中所描述的类型和状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值