Android8.1 MTK平台 修改蓝牙默认名称

2024-04-13 13:52

本文主要是介绍Android8.1 MTK平台 修改蓝牙默认名称,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

的默认蓝牙名称为 Android Bluedroid

通过搜索你会找到如下文件 device/generic/common/bluetooth/bdroid_buildcfg.h

#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H#define BTM_DEF_LOCAL_NAME   "Android Bluedroid"#endif

如果单一情况你修改此处即可,但如果多台烧录此 room 的设备同时打开蓝牙,你搜索到的蓝牙名称都为 BTM_DEF_LOCAL_NAME 对应的值

为了避免此种情况,我们采用另一种修改方式

将蓝牙名称修改为 你当前设备的 displayID,如果包含 _ ,则取 _ 之前的名称再加上 mac 地址的后六位

举个栗子, 设备 displayID 为 MTK6737-VT_V1.02 蓝牙mac地址为 EF:6D:3C:22:25:56, 则最终的蓝牙名称为 MTK6737-VT_222556

frameworks\base\core\java\android\bluetooth\BluetoothAdapter.java

 @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)public boolean enable() {if (isEnabled()) {if (DBG) Log.d(TAG, "enable(): BT already enabled!");updateBleName();//cczheng addreturn true;}try {boolean enableResult = mManagerService.enable(ActivityThread.currentPackageName());if (enableResult) {updateBleName();//cczheng add}return enableResult /*mManagerService.enable(ActivityThread.currentPackageName())*/;} catch (RemoteException e) {Log.e(TAG, "", e);}return false;}/***  cczheng add updateBleName whenBluetooth enable*/private void updateBleName(){final String ctag = "ccz";final String bleName=getName();Log.e(ctag,".bleName:"+bleName);new Thread(){@Overridepublic void run() {super.run();int timeCounter=0;String macStr=null;while(timeCounter<20){//500 *20 =10,000 msmacStr=getAddress();if(TextUtils.isEmpty(macStr) || macStr.contains("00:00:00")){try { sleep(500); } catch (InterruptedException e) {}}else{break;}timeCounter++;}Log.e(ctag,".mac:"+macStr);if(!TextUtils.isEmpty(macStr) &&  !macStr.contains("00:00:00")){timeCounter=0;macStr = macStr.substring(macStr.length() - 8, macStr.length());macStr = macStr.replaceAll(":", "");String display = android.os.Build.DISPLAY;if (display.contains("_")){display = display.split("_")[0];}else{display = "BT";}String newBleName = display + "_" + macStr;Log.e(ctag,".newBleName:"+newBleName);if(!newBleName.equals(bleName)){if(bleName.equals("ANDROID BT")|| bleName.contains("Android Bluedroid")|| bleName.contains("BT")|| bleName.contains(display + "_")){try{while (mService == null || mService.getState() != STATE_ON) {try{ sleep(200); } catch (InterruptedException e){}timeCounter++;if (timeCounter > 20) {break;}}Log.e(ctag,".setbleName:"+newBleName);mService.setName(newBleName);}catch (RemoteException e){e.printStackTrace();}Log.e(ctag,".setbleNameFinished:"+newBleName);}}}}}.start();}

这篇关于Android8.1 MTK平台 修改蓝牙默认名称的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/900318

相关文章

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命