??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
Android源码各个击破之-蓝牙属性配置分析

转载   屠夫章哥   2018-11-13   浏览量:23


1. init方法

image.png

        config_new方法将bt_config.conf文件加载到config变量,具体这个方法我就不细说了。

    

  这个init方法怎么被调用的呢?

 image.png       

 

   module_t是一个结构体,这个结构体主要是定义了一个大的??榈纳芷诜椒?。

   image.png     

    


    stack_manager 

    init_stack -> event_init_stack -> btif_config.c

    image.png

    

      image.png

       stack_manager又通过interface暴露引用给上层。

       image.png

         

      bluetooth.c ->stack_manager.c


       image.png

     image.png

      那么bluetooth.c是在哪里被调用呢?

      参照我的另外一篇博客//blog.51cto.com/4259297/2161333 中关于蓝牙物理mac的分析,就能串起来了。思路就是framework-jni-c。

      

       在此,我就对蓝牙物理mac的获取作一下总结:

       BluetoothAdapter-->BluetoothManagerService-->AdapterService-->bluetooth.c

      

       AdapterService通过JNI(com_android_bluetooth_btservice_AdapterService.cpp)与bluetooth.c交互,开启蓝牙协议栈。

       

       image.png

         上面的这个btStack变量其实就是stack_manager。

        

转载自://blog.51cto.com/4259297/2316211

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



Android之Dialog
一:UI设计1,Dialog(对话框)1-1:新建dialog_bay.xml,方法:右击“layout”->new->XML->LayoutXMLFile,如下图1-2:ui当中的重要的控件①,(RadioGroup)rg_type:单选按钮组①-1:(RadioButton)rb_zfb:支付宝①-2:(RadioButton)rb_wx:微信②,(Button)btn_ok
Error:Could not find common.jar
Error:Couldnotfindcommon.jar(android.arch.core:common:1.0.0).Searchedinthefollowinglocations:https://jcenter.bintray.com/android/arch/core/common/1.0.0/common-1.0.0.jar
Java/Android 大文件获取SHA1防止内存溢出
JavaAndroid大文件获取SHA1防止内存溢出。在Java或者Android开发中难免要遇到校验文件正确性的问题。比如下载一个apk包或者下载一个游戏包,担心文件会被篡改。这个时候就可以对比源文件的SHA1和下载到本地的文件的SHA1。
Android前端快速开发软件,快速切片工具
Android前端快速开发软件,快速切片工具。
创建文件时选择了c++时遇到这个错误解决方法
创建文件时选择了c++时遇到这个错误解决方法。
Android 权限申请代码模板
Android权限申请代码模板。
Android开发基本布局示例代码
Android开发基本布局示例代码。2、相对布局?RelativeLayout3、帧布局FrameLayout
Android Service使用方法回顾
Service作为Android四大组件之一,承载着重要的作用,同时,熟悉Service也会为理解Binder打下重要的基础,这里是我初学Android时做的关于Service的笔记,现在总结到这篇文章中。
Android设备的序列号与ro.serialno
Android设备的序列号与roserialno。Android设备的序列号是通过获取Property“roserialno”的值取得的?!皉oserialno”的值一般来源于内核启动参数中的
Android开发消息机制解析
Android开发消息机制解析。有时候需要在子线程中进行耗时的IO操作,可能是读取文件或者是访问网络等,当耗时操作完成以后可能需要在UI上做一些改变,这时候就需要用Handler切换到主线程执行。MessageQueue只是一个消息存储单元,不能处理消息,内部的存储结构是单链表。