1 / 9
文档名称:

android蓝牙源码分析.doc

格式:doc   大小:64KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

android蓝牙源码分析.doc

上传人:511709291 2016/12/21 文件大小:64 KB

下载得到文件列表

android蓝牙源码分析.doc

相关文档

文档介绍

文档介绍:android 蓝牙源码分析 BluetoothService 类中定义的 Native 方法都在 里建立 jni 调用一、开启( BT Turn on Turn off ) (蓝牙的打开关闭由类 BluetoothEnabler 控制。) BluetoothEnabler 控制界面操作,在其构造函数里会先调用 (context) 。 2. 然后在 LocalBluetoothManage r类的 getInstanc e 函数里会调用当前类下的 init() 函数,该 init() 函数中通过 () 获得蓝牙设备的句柄, 如果当前没有蓝牙设备则返回 null 。 3. 初始化完毕会监听 checkbox 的状态,当触发点击 checkbox 会响应 onPreferenceChange 方法,其中将调用 (enable) 方法。而 (enable) 方法,会调用 () 方法, enable() 方法又会调用 () 方法。其中, (1) 打开( 关闭) 操作成功后会有一个异步事件 ACTION_STATE_CHANGED 返回, 异步事件由类 BluetoothEventRedirector 控制(接收广播,进行处理) 。在收到 ACTION_STATE_CHANGED 异步事件后,还需要做 update 本地设备 profile 的事情,读取上次关闭前搜索到的蓝牙设备。( ) update 本地设备 profile 的事情:? ( )读取上次关闭前搜索到的蓝牙设备: 通过 (int state) 方法调到 方法来读取上次关闭之前搜索到 device. (2 )来开启 EnableThread 线程,进行打开操作,蓝牙的打开关闭属于异步操作。 ps: 在启动蓝牙的时候, 要注意的地方是不能正常启动蓝牙的情况, 因为正常启动的时候会返回 这个 Intent ,当时当启动出现异常的时候是没有 Inten t 返回的, androi d 使用回调函数来解决这个问题。下面是在 里面 enable ( (IBluetoothDeviceCallback callback ) 的过程:( 以下代码属于较低版本的 androi d 源码,与较高版本源码中已有所不同,只作为参考...) 001 View Code 002 public synchronized boolean enable(IBlueto