蓝牙: 1、fromwork 2、service 3、driver
  • Bluetooth.apk
  • bluedroid(芯片厂家)
fromwork到service直接调用
service到driver利用service调用
fromwork到driver利用AIDL通信 相关代码位置: JB\packages\apps\Bluetooth\src\com\android\bluetooth
JB\frameworks\base\core\java\android\bluetooth
JB\frameworks\base\services\java\com\android\server
协议栈    JB\external\bluetooth\bluedroid

 /frameworks/base/core/java/android/bluetooth/目录下

     BluetoothA2dp.java A2DP的功能实现
     BluetoothAdapter.java 蓝牙action的定义,虚拟设备属性以及操作方法
     BluetoothAudioGateway.java 蓝牙语音网关
     BluetoothClass.java 蓝牙设备类型的定义
     BluetoothDevice.java 蓝牙设备属性
     BluetoothDevicePicker.java 定义远程蓝牙设备的特性,比如需要认证,设备类型
     BluetoothHeadset.java 定义蓝牙headset功能的属性以及接口
     BluetoothInputStream.java 蓝牙流接口的实现(输入流)
     BluetoothOutputStream.java 蓝牙流接口的实现(输出流)
     BluetoothServerSocket.java 蓝牙socket服务端具备的方法
     BluetoothSocket.java 蓝牙socket的封装
     BluetoothUuid.java 蓝牙uuid的定义以及uuid的解析

相关功能配置:     true a2dp设备   -------- 媒体音频     false   蓝牙 设备可以控制电话(健康设备)     false 一些免提设备     true hid设备  鼠标/键盘     true opp传输     false 蓝牙局域网功能     false  蓝牙车载设备自动下载手机内的电话本定义的一套协议     true ble蓝牙( 超低功耗 蓝牙     false     false     false BluetoothAdapter 常用接口:
1.  BluetoothAdapter   getDefaultAdapter(), 得到默认蓝牙设备 2. BluetoothDevice getRemoteDevice(String address) 根据地址得到远程设备 3. BluetoothDevice getRemoteDevice( byte [] address) 4. boolean  isEnabled() 蓝牙设备是否打开 5. int  getState()  得到状态 6. boolean  enable()打开蓝牙 7.   boolean  disable() 关闭蓝牙 8. boolean  disable( boolean  persist) 9.  String getAddress()得到地址 10. String getName() 得到名称 11. boolean  configHciSnoopLog( boolean  enable)  //enable or disable Bluetooth HCI snoop log. 12. public  ParcelUuid[] getUuids()  Get the UUIDs supported by the local Bluetooth adapter.  13. boolean  setName(String name)  设置蓝牙名称 14.   public   int  getScanMode()得到扫描模式 15. public   boolean  setScanMode( int  mode,  int  duration) 设置扫描模式 16. public   boolean  startDiscovery()  开始发现设备 17.   public   boolean  cancelDiscovery()  取消发现设备 18.   public   boolean  isDiscovering() 判断是否正在扫描 19.   public  Se t getBondedDevices() 得到绑定设备 20.   public   int  getConnectionState() 得到连接状态 21.   public   int  getProfileConnectionState( int   profile 22. public   static   boolean  checkBluetoothAddress(String address) 检查蓝牙地址
流程图:

更多相关文章

  1. 2011.06.03(2)——— android 1.6 launcher研究之自定义ViewGroup
  2. Android简易实战教程--第十七话《自定义彩色环形进度条》
  3. Android 给ImageView自定义设置边框
  4. android 常用控件一览(从底层分析,为自定义控件做下小铺垫)
  5. 【Android 界面效果42】如何自定义字体
  6. android listview 自定义分割线总结
  7. 自定义Android键盘
  8. Android 自定义 View 理论基础
  9. Android 自定义camera压缩图片到指定大小

随机推荐

  1. Use adb to connect PC with Android Dev
  2. android 源码下载中遇到的问题 repo sync
  3. Android Studio Jar包使用一
  4. Android复制Assets目录下的文件到指定目
  5. "0x0055cde3"指令引用的内存"0x0000ffff"
  6. Android Studio升级至3.0所遇到的问题
  7. Android Uri如何在intent中传输
  8. Android Bitmap对象与byte[]相互转换
  9. Android下的RTSP客户端搭建
  10. Android类参考---Fragment(一)