自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

底层码农

android应用开发,蓝牙协议栈bluedorid开发

  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

原创 蓝牙问题分析1-> 原生A2DP和AVRCP中存在的内存泄漏问题

最近写了一个疲劳此时的demo, 一直连接车机蓝牙,然后断开车机蓝牙, 发现测试一天后,蓝牙crash。

2025-02-11 11:27:18 39

原创 android 蓝牙如何修改IO capabilities 实现不显示 配对数字比较功能

蓝牙配对需要交换本机和目标机的IO功能,蓝牙的IO Capabilities定义如下:input功能:output 功能:将input功能和output能力整合到一起总共有6种组合方式:NoInputNoOutput 设备没有输入和输出的能力DisplayOnly 设置只有输出显示的能力NoInputNoOutput1 因为没有一个配对算法可以通过yes和no出入,而且设备不支持输出,所以设备的IO能力定义为没有输入和输出。

2025-02-11 09:29:20 27

原创 蓝牙BLE CCCD介绍

CCCD(Client Characteristic Configuration Descriptor)即客户端特性配置描述符,在蓝牙低功耗(BLE)技术中扮演着关键角色。

2025-01-27 14:45:43 159

原创 在bluedroid中, 如何设置蓝牙设备类型?

对于物联网开发,通过此文章,你可以知道如何设置蓝牙的设备类型

2024-12-22 12:48:31 227

原创 如何接入蓝牙的PCM功能1 -- > 初识PCM

【代码】如何接入蓝牙的PCM功能。

2023-07-27 09:59:26 564

原创 ubuntu 系统中bluez无法正常启动

确认 bluetooth.conf 已放置在/etc/dbus-1/system.d 目录下,启动 bluez 进程: bluetoothd。如果不是以 root 运行 bluetoothd,则需要添加相应 user 的 policy,和 root policy 类似,复制。则可能是 D-Bus 权限问题,可以在 /etc/dbus-1/system.d/bluetooth.conf 中添加。上面的内容,然后把第一行修改成

2023-06-13 14:07:07 1105

原创 移植蓝牙芯片后,PCM 无声音问题记录

HFP的PCM无法使用的维妮塔

2023-06-09 11:39:55 1081 3

原创 苹果公司对蓝牙免提AT指令的扩充

苹果公司对蓝牙HF profile进行了一些HF AT指令的扩充。不过为了兼容起见,尽量实现HF标准规范规定的内容,如果标准规范没有规定相应的内容,为了适配苹果设备新增的功能,还是可以适应苹果公司新增的一些AT指令的。这里就对苹果公司新增的一部分AT指令作下介绍。本文这里提到的蓝牙配件指的是与苹果设备相连接的蓝牙外部设备。

2023-06-09 10:18:05 833

原创 串口流控(CTS/RTS)使用详解

对B设备的发送(A设备接收)来说,如果A设备接收缓冲快满的时发出RTS信号(高电平)(意思通知B设备停止发送),B设备通过CTS 检测到该信号,停止发送;从机在接收到主机发送的数据时,从机的接收模块的FIFO如果满了,则会使从机RTS无效,也即主机的CTS信号无效。在两个设备正常通信时,由于处理速度不同,就存在这样一个问题,有的快,有的慢,在某些情况下,就可能导致丢失数据的情况。§ 如果主机CTS信号为有效(低),表示从机的接收FIFO未满,从机可以接收,此时主机可以向从机发送数据。

2023-06-05 10:13:14 3637

原创 如何将替换一款蓝牙/wifi 芯片到android

1. 在BPI-RockChip-Android11/device/rockchip/common/device.mk中增加。手动卸载驱动之后,再安装驱动,爆出了问题2, 证明驱动,或者是板子的配置还是有问题,无法识别到芯片。该问题,修改了device 下面,对应的overlay/ x/config.xml后得到了解决。4.2 再broadcom/wlan/bcmdhd/wifi_hal/common.h。3.在frameworks/opt/net/wifi/libwifi_hal。

2023-06-02 15:14:12 2301

原创 蓝牙IRK讲解

蓝牙IRK是保障安全的蓝牙协议中的一部分,用于在连接BLE设备时进行身份验证。它可以帮助确保连接设备的完整性、保密性和可靠性,提供更高的安全性并使许多IoT应用程序更加安全可靠。

2023-05-29 15:57:25 2483

原创 一文弄懂:三个线程交替打印1-100或者ABC

一篇文章学会java多线程交替执行任务

2023-04-07 20:02:01 1026 1

原创 车机蓝牙通话的流程分析

待完善的车机 HFP流程

2022-09-01 20:26:29 2645 6

原创 AppCompatActivity 实现透明效果 ---- sdk30 测试有效

<!--透明activity的style--> <style name="transparent_activity" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@color/transparent_background</item> <item name="android:window...

2021-09-09 16:12:13 447

原创 系统编译踩坑记录

问题1.Cause: executing external native build for cmake 报错 尝试1. 通过./gradlew build --stacktrace 查看编译报错细节问题2.使用gradle进行编译打包产生 java.lang.OutOfMemoryError: GC overhead limit exceeded在gradle.properites文件中添加如下配置即可org.gradle.jvmargs=-Xmx4096m.........

2021-05-05 10:17:31 279

原创 ubuntu 密码正确,但无法登录

记录一次踩坑和这个类似的问题我的解决方案

2021-04-27 10:20:55 2343

原创 应用优化记录

一. apk瘦身 主要涉及步骤1.图片变成webp, 大致能较少图片30% 空间2. 配置gradle, 只打包部分架构下的so 这个也会有5%左右的优化空间3. lint 删除无用的资源4. shrinkResource 这个属性 是神器, 一下子较少了20%空间5.简单图片尽量使用xml代替 png6.微信压缩开源框架使用这个框架之后, apk 体积变化媒体中心 8M -> 4.6M 优化体积为42%二. 日志优化1. 定义...

2020-08-31 16:12:06 138

原创 Android Studio 右边的 gradle 编译选项框不显示问题记录

右边的选项框不显示, 可以点击 file --> sync project with gradle files等待同步玩资源之后, 右边框的 gradle 编译选项框就会显示了就会显示.希望能帮到遇到这个问题的小伙伴

2020-08-19 16:12:58 2694

原创 android 车机电话的通讯录联系人搜索实现解析 ------- 填坑日记

项目中的android 车机系统 搜索联系人算法一直有问题 , 这里就把整个的流程写一遍一 .搜索算法实现的功能1.支持中文,英文搜索2.支持电话号码搜索3.支持汉语拼音搜索, 首字母搜索也能支持, 同时对检索到的文字显示高亮前面的第一, 第二点, 都是比较简单的, 通过遍历字符串, 查看字符串是否包含用户输入的字符, 就能达到检索的功能重点是第三点,拼音的搜索,首...

2019-08-09 18:00:25 1173

原创 Ubuntu 下面的切换 python 版本操作

archermind@archermind:~$ sudo update-alternatives --config python[sudo] password for archermind: There are 2 choices for the alternative python (providing /usr/bin/python). Selection Path ...

2019-07-16 14:03:15 190

原创 蓝牙信道

1. BR/EDR (传统蓝牙)传统蓝牙和BLE 不一样的。没有广播信道和数据信道之分。数目是79 ,传统蓝牙是通过inquiry 和 inquiry scan 方式进行查找2. BLE37个数据信道, 3个广播信道3. 蓝牙5.0未知...

2019-07-08 17:50:50 5211

原创 蓝牙的配对过程1

好就没写blog 了, 最近看到了几篇关于蓝牙不错的文章, 这里转载, 并总结一下吧,地址如下: https://blog.51cto.com/11134889/2089794一般的蓝牙连接, 都会先设备配对, 然后再正式连接一. 配对1.1 概念配对就是master(主设备)和slave(从设备) 协商确定加密key的过程, 下面图中的第7部分即为配对这个图不知道...

2019-07-08 17:40:12 5022

原创 dialer中联系人同步实现

此文章讲解了android车载aosp中蓝牙电话同步联系人的原理与流程

2018-11-20 18:10:00 25

转载 Linux 线程编程之二

多线程程序作为一种多任务、并发的工作方式,当然有以下的优点:  1) 提高应用程序响应。这对图形界面的程序尤其有意义,当一个操作耗时很长时,整个系统都会等待这个操作,此时程序不会响应键盘、鼠标、菜单的操作,而使用多线程技术,将耗时长的操作(time consuming)置于一个新的线程,可以避免这种尴尬的情况。  2) 使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时,不同的线程运...

2018-10-26 17:31:54 157

原创 安卓中蓝牙免提HFP的一些分析

最近看了一些大牛的博客,无不提到了技术分享的重要性,的确,分享自己的知识不仅仅是与他人讨论并相互提高的过程,更是对自己知识的梳理。希望自己能以此为契机,形成周期性博客分享的习惯。文章标题为HFP的一些分析,HFP(Hand Free Profile)主要定义了安卓中与接打电话相关的一些功能的实现。本文主要介绍这其中对于HFP非常重要的Service Level Connection的建立。首先...

2018-10-26 14:32:42 615 1

原创 android 蓝牙hfp client实现简介

首先确认配置文件是否开启hfp profile功能。根据设备的角色(hfp client / hfp server)来配置hfp profile.profile 配置文件路径:alps/packages/apps/Bluetooth/res/values/config.xmlalps/device/${customer}/${ProjectName}/overlay/packages/app...

2018-10-26 14:08:06 2819 1

转载 android HFPclient的相关分析

在高通平台和三星平台上调过这个功能,基于安卓6.0,该功能是将手机上的蓝牙功能用成和蓝牙耳机一样的功能。蓝牙电话和蓝牙音乐它们之间的差异较大,蓝牙电话要求实时性比较高,其和A2DP使用的物理通路并不一致,蓝牙电话走pcm物理通路,而蓝牙音乐走uart通路。关键词Hfpclient   BT SCO   ATA command在调试该功能时,最好能先测试一下,如下信号指标是否符合要求,以...

2018-10-26 11:45:44 2079

原创 典型的车载蓝牙配置

&lt;resources&gt; &lt;!-- Disable source profiles (typically used in phone) --&gt; &lt;bool name="profile_supported_a2dp"&gt;false&lt;/bool&gt; &lt;bool name="profile_supported_hs_hfp"&am

2018-10-25 14:42:49 133 1

转载 android中xliff的使用

今天看了一个google的demo,发现部分资源字符串在/res/values/string.xml中包含有类似xliff的节点,刚才查了一下,Xliff是XML Localization Interchange File Format 的缩写,中文名为XML本地化数据交换格式。对于在Android的资源字符串中,可能会有类似下面的 %1$s 写法,这里,id我们可以随便定义,后面的%

2017-02-21 16:54:57 552

原创 Android layer type 小结

今天看源码。发现在手势识别开始前会存在LayerType 的设置 /** * The series of touch events has been detected as a swipe. * * Now that the gesture is a swipe, we will begin translating the view of the *

2017-02-17 11:18:27 3678

转载 Gson基础用法总结

目录       1、基本数据类型解析       2、基本数据类型生成       3、实体类的解析及生成       4、泛型在Gson中的使用  Gson,大家在都知道是json解析工具,也是google的亲儿子,自然也有着诸多的优点,今天就来总结一下其详细的用法,在本篇中将讲解其基础的使用方法,下一篇将讲解其高级的用法。1、基本数据类型解析,例:

2016-10-28 17:45:06 443

转载 Android OkHttp完全解析 是时候来了解OkHttp了

转载请标明出处: http://blog.youkuaiyun.com/lmj623565791/article/details/47911083; 本文出自:【张鸿洋的博客】一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学

2016-10-08 20:33:06 375

转载 安卓中MVP模式和RxAndroid的具体实现例子

MVP模式和RxAndroid是两个东西,这里因为懒得分开写,所以写到了一起写到了同一个例子里面。MVP是什么参考博客:框架模式MVP在Android中的使用 在MVC框架中,View是可以直接读取Model模型中的数据的,Model模型数据发生改变是会通知View数据显示发生相应的改变。 而在MVP中Model和View之间的没有任何联系,是两个完全独立的模块,当

2016-10-02 11:07:44 631

原创 Android学习笔记 十六 使用RxBinding响应控件的异步事件

RxBinding是Rx中处理控件异步调用的方式, 也是由Square公司开发, Jake负责编写. 通过绑定组件, 异步获取事件, 并进行处理. 编码风格非常优雅. 让我来讲解一下如何使用, 本文含有代码示例.1. 依赖除了RxJava, 再添加RxBinding的依赖.// RxBinding compile 'com.jakewharton.rxbindi

2016-10-02 09:08:26 475

原创 andorid 学习笔记 UniversalImageLoader的使用

UniversalImageLoader问题:从网络获取图片、显示、回收,每个环节都可能造成应用的OOM(如果没做相关的处理的话)。像ListView或者是GridView中,一页就含有大量的图片,快速滑动的时候,没有OOM也会有卡顿的现象。解决办法:使用异步加载网络图片、缓存以及显示。ImageLoader的工作原理: 最后下载好图片,

2016-09-30 10:36:52 410

转载 Android6.0 ViewGroup/View 事件分发机制详解

之前自认为对于Android的事件分发机制还算比较了解,直到前一阵偶然跟人探讨该问题,才发现自己以前的理解有误,惭愧之余遂决定研习源码,彻底弄明白Android的事件分发机制,好了废话少说,直接开干。首先,我们对Android中的touch事件做一下总结,主要分为以下几类:1、Action_Down  用户手指触碰到屏幕的那一刻,会触发该事件;2、Action_Move   在触碰到屏

2016-09-26 15:43:05 374

原创 Android 系统中同时删除多条SMS的具体实现

昨天,遇到了一个同时删除多条记录的问题,在android系统中删除操作过慢导致了,导致用户体验不佳的现象。     该问题一直都没有很好的解决,现在将整体的解决方案记录一下。   一。AsyncQueryHander的具体实现      通过代码我们看到这里是通过一个AsyncQueryHander实现的删除操作,该handler的具体实现 public sta

2016-08-31 16:37:30 1464

原创 JAVA设计模式---策略(strategy)

转载自:http://blog.youkuaiyun.com/guolin_blog/article/details/8986285策略: 总结出来就是可以根据情况选择的意思,这篇文章用到的方法是借口。今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急着要去开会。要帮什么忙呢?你很好奇。他对你说,当前你们项目的数据库中有一张用户信息表,里面存放了很用户的数据,现在需要完

2016-08-25 11:22:54 293 1

原创 JAVA设计模式---单例模式(singleton)

1.首先看一个Java的简单版本的log类public class LogUtil { private static LogUtil sLogUtil; public final int DEGUB = 0; public final int INFO = 1; public final int ERROR = 2; public final int NOTHING = 3

2016-08-25 10:59:53 555

原创 Android BLE 开发常见问题总结

本文手机了 截止2016年8月笔者开发BLE以及网络上面的一些BLE开发经验,大家共同学习,共同进步。这段时间在做低功耗蓝牙 (BLE) 应用的开发(并不涉及蓝牙协议栈)。总体感觉 Android BLE 还是不太稳定,开发起来也是各种痛苦。这里记录一些杂项和开发中遇到的问题及其解决方法,避免大家踩坑。本文说的问题有些没有得到官方文档的验证,不过也有一些论坛帖子的支持,也可以算

2016-08-08 15:06:58 3289

2048.tar.xz

2048 demo 简单实现,基本功能注释完善,后续增加动画

2016-05-29

scrollview_listview

自己写的一个简单的demo,实现scrollView 和listView 兼容

2016-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除