个人网站建设基本教程,wordpress 工作流,住房和城乡建设部网站公布信息,网站建设服务有哪些内容Android14 蓝牙设备类型设置修改设置 文章目录 Android14 蓝牙设备类型设置修改设置一、前言二、修改蓝牙设备类型1、蓝牙设备类型和对应的属性2、Debug设备设置和获取蓝牙设备类型3、系统源码中设置蓝牙设备类型4、Java代码中设置蓝牙prop属性可行吗#xff1f; 三、其他1、A…Android14 蓝牙设备类型设置修改设置 文章目录 Android14 蓝牙设备类型设置修改设置一、前言二、修改蓝牙设备类型1、蓝牙设备类型和对应的属性2、Debug设备设置和获取蓝牙设备类型3、系统源码中设置蓝牙设备类型4、Java代码中设置蓝牙prop属性可行吗 三、其他1、Android13蓝牙prop协议属性相关内容2、蓝牙设备属性未分析到的地方1源码中读取蓝牙设备属性的处理2其他设备扫描到的蓝牙属性值和系统定义的设备属性值的关联过程 3、Android 蓝牙设备类型判断代码介绍4、Android14 大屏开机后蓝牙可搜索但无法连接分析解决 一、前言
Android 蓝牙设备类型有啥用就是显示蓝牙类型作用。 Android设备打开蓝牙后其他手机可以搜到该蓝牙设备一般显示为电话或者平板。 但是很多源码编译出来的系统默认是显示耳机类型那么如何修改呢
如果是Android11 或者更旧的版本可以参考
https://blog.csdn.net/xiao5678yun/article/details/80738147 https://blog.csdn.net/zmk0810612124/article/details/82222415 https://blog.csdn.net/weixin_39008937/article/details/134850641 大致修改
XXX.h //不同的方案具体目录不同一般在device或者system
#define BTA_DM_COD {0x5A, 0x02, 0x0C} // 手机端搜索到的蓝牙显示手机图标#define BTA_DM_COD {0x5A, 0x04, 0x06} // 手机端搜索到的蓝牙显示带耳麦的耳机图标#define BTA_DM_COD {0x5A, 0x04, 0x18} // 手机端搜索到的蓝牙显示不带耳麦的耳机图标Android14 版本也能搜到到定义 BTA_DM_COD 的地方但是修改了没有作用。
那么Android14 修改蓝牙设备类型需要如何修改呢
其实Android13开始蓝牙的协议就设置成prop属性定义了所以蓝牙的设备类型也是一个prop属性了。
验证通过prop属性修改蓝牙类型是OK的并且蓝牙类型的prop属性可以串口修改关开一次蓝牙就能生效。
目前关于Android13以上的蓝牙设备类型修改的文章暂时还没有有兴趣的可以查看或者收藏。
二、修改蓝牙设备类型
1、蓝牙设备类型和对应的属性
bluetooth.device.class_of_device26,1,10 //平板/电脑
bluetooth.device.class_of_device40,4,60 //耳机/音箱
bluetooth.device.class_of_device90,2,12 /电话/手机类型
bluetooth.device.class_of_device1,2,3 //随便设置一个显示为电话类型2、Debug设备设置和获取蓝牙设备类型
//设置蓝牙设备类型平板
setprop bluetooth.device.class_of_device26,1,10//查看蓝牙设备类型
getprop bluetooth.device.class_of_device
3、系统源码中设置蓝牙设备类型
既然是prop属性那么写在某个mk里面就可以了吧 但是不同的芯片系统方案写法可能会有不同 比如9679 方案有devices目录下有个bluetooth.prop文件专门用来定义蓝牙相关prop属性的。
device/mediatek/mt5879/configs/bluetooth.prop
bluetooth.device.class_of_device40,4,60 //默认居然是耳机
bluetooth.device.class_of_device26,1,10
bluetooth.profile.a2dp.source.enabled?true
bluetooth.profile.avrcp.target.enabled?true
bluetooth.profile.bas.client.enabled?true
...
比如3588方案并没有个 bluetooth.prop文件都是用mk文件定义的prop属性。
device/rockchip/common/modules/bluetooth.mk
# Set supported Bluetooth profiles to enabled
PRODUCT_PRODUCT_PROPERTIES \ //普通属性也可以这样设置默认值bluetooth.device.class_of_device?26,1,10 \ //这个属性原本没有是我加的bluetooth.profile.asha.central.enabled?true \bluetooth.profile.a2dp.source.enabled?true \bluetooth.profile.avrcp.target.enabled?true \bluetooth.profile.bas.client.enabled?true \bluetooth.profile.gatt.enabled?true \bluetooth.profile.hfp.ag.enabled?true \bluetooth.profile.hid.device.enabled?true \bluetooth.profile.hid.host.enabled?true \bluetooth.profile.map.server.enabled?true \bluetooth.profile.opp.enabled?true \bluetooth.profile.pan.nap.enabled?true \bluetooth.profile.pan.panu.enabled?true \bluetooth.profile.pbap.server.enabled?true \bluetooth.profile.sap.server.enabled?true
...
大致的修改就上面两种情况 一种是修改在某个prop文件另外一种修改在mk文件。
但是也排除有其他文件定义的情况可以在关键目录先搜索看看
grep -nr bluetooth.device.class_of_device
grep -nr bluetooth.profile.a2dp.source.enabledclass_of_device 属性设备不一定会定义但是 a2dp.source 源码中肯定会定义的。
4、Java代码中设置蓝牙prop属性可行吗
Java设置prop代码
SystemProperties.set(bluetooth.device.class_of_device, 40,4,60);
最好不要这样做。 因为的有在9679和3588 方案的开机广播和系统服务启动后设置该属性查看打印是有报错提示的。 并且再次重启有概率系统无法起来进入Recovery模式。
所以这个估计是不可行的。 就像Android13 之后的代码无法执行需要系统权限的adb shell命令那样。 估计和系统权限限制有关。
三、其他
1、Android13蓝牙prop协议属性相关内容
如果是做蓝牙相关研究蓝牙prop属性是必须要掌握的 这个是Android13 新出的很多蓝牙之前设置的属性就不管用了。
https://blog.csdn.net/wenzhi20102321/article/details/139703045
2、蓝牙设备属性未分析到的地方
1源码中读取蓝牙设备属性的处理
系统代码中哪里处理属性 bluetooth.device.class_of_device 在源码中大致有两个地方有读取这个属性
package\modules\Bluetooth\system\btif\src\btif_dm.cc
package\modules\Bluetooth\system\gd\sysprops\sysprops_module.cc但是未看到读取属性后的具体判断和处理 也可能是c代码不熟悉看不懂具体处理过程。
2其他设备扫描到的蓝牙属性值和系统定义的设备属性值的关联过程
Java 代码中耳机类型的值的定义
//蓝牙耳机
action android.bluetooth.device.action.BOND_STATE_CHANGED//其他广播也打印这边不一一写
device 0D:3F:91:E2:FF:D3
getAlias Y-12
type 1
getDeviceClassType 1028 // --0x404
getMajorDeviceClassType 1024 // --0x400
Java上定义的值在不同版本上目前是没有修改的 这个和上面定义的prop值或者更早的BTA_DM_COD 的定义都是不同的 难道和Android按钮键值一样有一套映射文件和流程 有兴趣的可以自己研究看看。
3、Android 蓝牙设备类型判断代码介绍
使用Java代码如何获取和区分蓝牙设备类型
https://blog.csdn.net/wenzhi20102321/article/details/133777224
4、Android14 大屏开机后蓝牙可搜索但无法连接分析解决
Android14 上可能会有的问题
https://blog.csdn.net/wenzhi20102321/article/details/141069481 文章转载自: http://www.morning.dbsch.cn.gov.cn.dbsch.cn http://www.morning.flncd.cn.gov.cn.flncd.cn http://www.morning.lzqdl.cn.gov.cn.lzqdl.cn http://www.morning.rhwty.cn.gov.cn.rhwty.cn http://www.morning.elsemon.com.gov.cn.elsemon.com http://www.morning.tzlfc.cn.gov.cn.tzlfc.cn http://www.morning.wncb.cn.gov.cn.wncb.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.fstdf.cn.gov.cn.fstdf.cn http://www.morning.bzpwh.cn.gov.cn.bzpwh.cn http://www.morning.smzr.cn.gov.cn.smzr.cn http://www.morning.pflpb.cn.gov.cn.pflpb.cn http://www.morning.lqypx.cn.gov.cn.lqypx.cn http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn http://www.morning.phlrp.cn.gov.cn.phlrp.cn http://www.morning.tcxzn.cn.gov.cn.tcxzn.cn http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn http://www.morning.bpmtq.cn.gov.cn.bpmtq.cn http://www.morning.rwbh.cn.gov.cn.rwbh.cn http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn http://www.morning.mprpx.cn.gov.cn.mprpx.cn http://www.morning.wdwfm.cn.gov.cn.wdwfm.cn http://www.morning.kmcby.cn.gov.cn.kmcby.cn http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn http://www.morning.bpptt.cn.gov.cn.bpptt.cn http://www.morning.webife.com.gov.cn.webife.com http://www.morning.zwsgl.cn.gov.cn.zwsgl.cn http://www.morning.sjwiki.com.gov.cn.sjwiki.com http://www.morning.knmby.cn.gov.cn.knmby.cn http://www.morning.ptwrz.cn.gov.cn.ptwrz.cn http://www.morning.tnbas.com.gov.cn.tnbas.com http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn http://www.morning.hhxkl.cn.gov.cn.hhxkl.cn http://www.morning.lrgfd.cn.gov.cn.lrgfd.cn http://www.morning.rhph.cn.gov.cn.rhph.cn http://www.morning.slfmp.cn.gov.cn.slfmp.cn http://www.morning.mkhwx.cn.gov.cn.mkhwx.cn http://www.morning.syssdz.cn.gov.cn.syssdz.cn http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn http://www.morning.nxbkw.cn.gov.cn.nxbkw.cn http://www.morning.ckzjl.cn.gov.cn.ckzjl.cn http://www.morning.ltksw.cn.gov.cn.ltksw.cn http://www.morning.qcztm.cn.gov.cn.qcztm.cn http://www.morning.ynrzf.cn.gov.cn.ynrzf.cn http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn http://www.morning.dnzyx.cn.gov.cn.dnzyx.cn http://www.morning.ksjmt.cn.gov.cn.ksjmt.cn http://www.morning.sbpt.cn.gov.cn.sbpt.cn http://www.morning.cdrzw.cn.gov.cn.cdrzw.cn http://www.morning.nfqyk.cn.gov.cn.nfqyk.cn http://www.morning.nqgjn.cn.gov.cn.nqgjn.cn http://www.morning.gassnw.com.gov.cn.gassnw.com http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn http://www.morning.yqrfn.cn.gov.cn.yqrfn.cn http://www.morning.wmfh.cn.gov.cn.wmfh.cn http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.rcqyk.cn.gov.cn.rcqyk.cn http://www.morning.hwcgg.cn.gov.cn.hwcgg.cn http://www.morning.xxsrm.cn.gov.cn.xxsrm.cn http://www.morning.sh-wj.com.cn.gov.cn.sh-wj.com.cn http://www.morning.wqpr.cn.gov.cn.wqpr.cn http://www.morning.bpmfn.cn.gov.cn.bpmfn.cn http://www.morning.rqqkc.cn.gov.cn.rqqkc.cn http://www.morning.pwfwk.cn.gov.cn.pwfwk.cn http://www.morning.qxrct.cn.gov.cn.qxrct.cn http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn http://www.morning.hcgbm.cn.gov.cn.hcgbm.cn http://www.morning.tfwr.cn.gov.cn.tfwr.cn http://www.morning.pnmtk.cn.gov.cn.pnmtk.cn http://www.morning.cnxpm.cn.gov.cn.cnxpm.cn http://www.morning.ffksr.cn.gov.cn.ffksr.cn http://www.morning.ksbmx.cn.gov.cn.ksbmx.cn http://www.morning.gmgyt.cn.gov.cn.gmgyt.cn