自定义博客皮肤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开发

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

原创 如何接入蓝牙的PCM功能

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

2023-07-27 09:59:26 265

原创 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 711

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

HFP的PCM无法使用的维妮塔

2023-06-09 11:39:55 719 1

转载 苹果公司对蓝牙免提AT指令的扩充

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

2023-06-09 10:18:05 433

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

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

2023-06-05 10:13:14 2992

原创 如何将替换一款蓝牙/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 1215

原创 蓝牙IRK讲解

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

2023-05-29 15:57:25 1489

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

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

2023-04-07 20:02:01 593

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

待完善的车机 HFP流程

2022-09-01 20:26:29 1823 2

原创 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 376

原创 系统编译踩坑记录

问题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 198

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

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

2021-04-27 10:20:55 2047

原创 应用优化记录

一. 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 106

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

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

2020-08-19 16:12:58 2563

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

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

2019-08-09 18:00:25 997

原创 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 151

原创 蓝牙信道

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

2019-07-08 17:50:50 4854

原创 蓝牙的配对过程1

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

2019-07-08 17:40:12 4628

转载 Linux 线程编程之二

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

2018-10-26 17:31:54 125

转载 安卓中蓝牙免提HFP的一些分析

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

2018-10-26 14:32:42 531

原创 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 2549 1

转载 android HFPclient的相关分析

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

2018-10-26 11:45:44 1901

原创 典型的车载蓝牙配置

&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 83 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 477

原创 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 3461

转载 Gson基础用法总结

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

2016-10-28 17:45:06 383

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

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

2016-10-08 20:33:06 345

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

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

2016-10-02 11:07:44 597

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

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

2016-10-02 09:08:26 442

原创 andorid 学习笔记 UniversalImageLoader的使用

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

2016-09-30 10:36:52 343

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

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

2016-09-26 15:43:05 341

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

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

2016-08-31 16:37:30 1385

转载 JAVA设计模式---策略(strategy)

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

2016-08-25 11:22:54 259

原创 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 509

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

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

2016-08-08 15:06:58 3135 2

原创 Android 学习笔记十三 通过绝对路径得到uri

private static Uri queryMedia(String mediaPath, String path, Context context) { String StringUri = null; ContentResolver mContentResolver = context.getContentResolver(); if (Te

2016-07-12 12:06:44 538

原创 android 自定义控件学习之三 控件布局常用知识总结

1、View是什么View是Android所有控件的基类,简单到TextView、Button,复杂到RelativeLayout,LinearLayout,其共同基类都是View。所以,View可以理解为控件的抽象,也是一个控件。除此之外,还有ViewGroup,字面意义上,它表示控件组,内部可以包含许多个控件。ViewGroup也继承自View,这意

2016-06-02 20:12:31 3377

原创 android 学习笔记十二 监听键盘状态

监听键盘状态, 在短信的界面我们可以通过该方法监听,输入法是否弹出   conv_root 为根布局的id     // get root layout id final View activityRootView = findViewById(R.id.conv_root); // add listener for rootlayou ac

2016-06-02 20:09:41 491

转载 Android 自定义控件学习之二 简单布局实例

转载自   http://blog.csdn.net/lmj623565791/article/details/24300125自定义view的实现步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw直接切入正题:直接切入正题:1、在res/values/attr.xml

2016-05-29 11:10:32 434

原创 Android 自定义控件学习之一 基础知识

基本实现 步骤             1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw在最新的andriod studio 中,选择自定义空间,它会生成相应的attr 文件,布局文件,属性实现文件,通过这三个文件,我们就可以设计自己的控件。

2016-05-29 10:58:34 426

2048.tar.xz

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

2016-05-29

scrollview_listview

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

2016-05-10

空空如也

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

TA关注的人

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