- 论坛徽章:
- 0
|
Android中蓝牙是通过system/bluetooth/bluedroid/bluetooth.c启动的。在这个文件中主要的函数完成的功能为: 检查蓝牙电源状态,和打开蓝牙电源 启动蓝牙,其中调用了1 关闭蓝牙
电源的状态是通过rfkill文件状态来标示的。在我们的平台没有rfkill。 在文件中直接屏蔽掉和蓝牙电源相关的函数。 主要的函数就剩下 bt_enable 和 bt_disable了。
在bt_enable中,首先使用property_set函数开启hciattach服务。然后HCIDEVUP,最后执行property_set函数开启hcid服务。
hciattach在init.rc中是没有的,手动添加
service hciattach /system/bin/hciattach [color="#FF0102"]-n /dev/ttyS1 any 38400 flow user root disabled oneshot
注意: -n 这个选项很重要必须添加。否则,hciattach服务是不能启动的。
现在通过UI界面就可以启动蓝牙了
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/88891/showart_2185948.html |
|