Vector Blog

写写看看记记 , be happy!

Android之 wifi enable 流程

从 Settings 中的 switch 控件开始 : WifiEnabler.java public void onSwitchChanged(Switch switchView, boolean isChecked) { ...... if (!mWifiManager.setWifiEnabled(isChecked)) { ...

Scan in WAPS

回顾一下 wpas 创建 socket 之后监听连接 =>wpa_supplicant_add_iface ==>wpa_supplicant_init_iface wpa_s->ctrl_iface = wpa_supplicant_ctrl_iface_init(wpa_s); ===>wpas_ctrl_iface_open_sock ...

Android 之 wifi 简介 & WifiService

1.架构 framework 提供的接口为 android.net.wifi ( frameworks/base/wifi/java/android/net/wifi ),app直接通过其中的接口(主要有 WifiManager )来控制 wifi 。 其通过binder来调用wifiservice的服务,实际上 wifiservice 通过 socket 连接来向 wpa_supp...

Android 之 WiFi Framework API

相关授权: 使用wifi <uses-feature android:name=”android.hardware.wifi” /> 访问Wi-Fi网络状态信息 <uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” /> 改变WiFi状态 <uses-p...

BT certification

如果要在出货的产品上打上蓝牙的logo ,就必须先通过 SIG 的蓝牙认证 。 在准备阶段需要填写 QDL_listing_Info_Sheet 文档,内容包含 product name , bt version , power class & rf gain , 相关 QDID ,support profiles 等等。 蓝牙认证的测试分为两个部分 RF 和 profile ...

BLE 之 GATT 介绍

1. 介绍 GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架 , 该框架定义了服务(Server)和服务属性(characteristic)的过程(Procedure)及格式 , Procedure定义了characteristic的发现、读、写、通知(Notifing)、指示(Indicating)及配置characteristic的广播 . ...

BLE 之 ATT 介绍

1. 介绍 蓝牙4.0版本推出了低功耗规范,引入了两个核心协议:ATT(Attribute Protocol)和GATT(Generic Attribute Protocol).这两个协议主要目标是BLE,但是也可以运行在传统蓝牙上(BR/EDR). ATT is a wire application protocol , GATT 是基于 ATT 协议,而所有的 BLE profile ...

BLE介绍

1. 物理层 BLE(bluetooth low energy)同样运行在2.4G ISM 频段。总共分为40个频段如下图: 和 Basic Rate 一样 BLE 使用 GFSK 调制,最大传输速率为 1Mbps . 2. 链路层 2.1 链路状态机 链路层操作可以描述为链路状态机(The Link Layer State Machine) 链路状态机有如下五种状态 Sta...

Android bluedroid

Android 4.2之前,Google一直使用的是Linux官方蓝牙协议栈BlueZ。BlueZ实际上是由高通公司在2001年5月基于GPL协议发布的一个开源项目,做为Linux 2.4.6内核的官方蓝牙协议栈。 从Android 4.2开始,Google便在Android源码中推出了它和博通公司一起开发的BlueDroid以替代BlueZ。 bluedroid源码结构如下图 : 先来...

Android M bluetooth update & 新消息处理机制

新支持的profile : SAP(SIM access profile) 另外原有的profile也有改变: 同时保持连接两台A2DP Sink 设备 (目前默认仍然只能同时连接一台设备,可以通过修改 persist.bt.max.a2dp.connections 为 2 来支持这个特性) 同时保持连接两台AVRCP controllers设备 虽然是连接两台设备,但同时只能有一...