中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

服務(wù)器租用網(wǎng)站模板寧波seo網(wǎng)絡(luò)推廣軟件系統(tǒng)

服務(wù)器租用網(wǎng)站模板,寧波seo網(wǎng)絡(luò)推廣軟件系統(tǒng),北京知名網(wǎng)站推廣,東莞推廣seo關(guān)鍵詞排名優(yōu)化Android14 藍(lán)牙設(shè)備類型設(shè)置修改設(shè)置 文章目錄 Android14 藍(lán)牙設(shè)備類型設(shè)置修改設(shè)置一、前言二、修改藍(lán)牙設(shè)備類型1、藍(lán)牙設(shè)備類型和對(duì)應(yīng)的屬性2、Debug設(shè)備設(shè)置和獲取藍(lán)牙設(shè)備類型3、系統(tǒng)源碼中設(shè)置藍(lán)牙設(shè)備類型4、Java代碼中設(shè)置藍(lán)牙prop屬性可行嗎? 三、其他1、A…

Android14 藍(lán)牙設(shè)備類型設(shè)置修改設(shè)置

文章目錄

  • Android14 藍(lán)牙設(shè)備類型設(shè)置修改設(shè)置
    • 一、前言
    • 二、修改藍(lán)牙設(shè)備類型
      • 1、藍(lán)牙設(shè)備類型和對(duì)應(yīng)的屬性
      • 2、Debug設(shè)備設(shè)置和獲取藍(lán)牙設(shè)備類型
      • 3、系統(tǒng)源碼中設(shè)置藍(lán)牙設(shè)備類型
      • 4、Java代碼中設(shè)置藍(lán)牙prop屬性可行嗎?
    • 三、其他
      • 1、Android13藍(lán)牙prop協(xié)議屬性相關(guān)內(nèi)容:
      • 2、藍(lán)牙設(shè)備屬性未分析到的地方
        • (1)源碼中讀取藍(lán)牙設(shè)備屬性的處理
        • (2)其他設(shè)備掃描到的藍(lán)牙屬性值和系統(tǒng)定義的設(shè)備屬性值的關(guān)聯(lián)過(guò)程
      • 3、Android 藍(lán)牙設(shè)備類型判斷代碼介紹
      • 4、Android14 大屏開(kāi)機(jī)后藍(lán)牙可搜索但無(wú)法連接分析解決

一、前言

Android 藍(lán)牙設(shè)備類型有啥用?就是顯示藍(lán)牙類型作用。
Android設(shè)備打開(kāi)藍(lán)牙后,其他手機(jī)可以搜到該藍(lán)牙設(shè)備,一般顯示為電話或者平板。
但是很多源碼編譯出來(lái)的系統(tǒng)默認(rèn)是顯示耳機(jī)類型,那么如何修改呢?

如果是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}        // 手機(jī)端搜索到的藍(lán)牙顯示手機(jī)圖標(biāo)#define BTA_DM_COD {0x5A, 0x04, 0x06}        // 手機(jī)端搜索到的藍(lán)牙顯示帶耳麥的耳機(jī)圖標(biāo)#define BTA_DM_COD {0x5A, 0x04, 0x18}        // 手機(jī)端搜索到的藍(lán)牙顯示不帶耳麥的耳機(jī)圖標(biāo)

Android14 版本也能搜到到定義 BTA_DM_COD 的地方,但是修改了沒(méi)有作用。

那么Android14 修改藍(lán)牙設(shè)備類型,需要如何修改呢?

其實(shí)Android13開(kāi)始,藍(lán)牙的協(xié)議就設(shè)置成prop屬性定義了,所以藍(lán)牙的設(shè)備類型也是一個(gè)prop屬性了。

驗(yàn)證通過(guò)prop屬性修改藍(lán)牙類型是OK的,并且藍(lán)牙類型的prop屬性可以串口修改,關(guān)開(kāi)一次藍(lán)牙就能生效。

目前關(guān)于Android13以上的藍(lán)牙設(shè)備類型修改的文章暫時(shí)還沒(méi)有,有興趣的可以查看或者收藏。

二、修改藍(lán)牙設(shè)備類型

1、藍(lán)牙設(shè)備類型和對(duì)應(yīng)的屬性

bluetooth.device.class_of_device=26,1,10 //平板/電腦
bluetooth.device.class_of_device=40,4,60 //耳機(jī)/音箱
bluetooth.device.class_of_device=90,2,12 /電話/手機(jī)類型
bluetooth.device.class_of_device=1,2,3 //隨便設(shè)置一個(gè),顯示為電話類型

2、Debug設(shè)備設(shè)置和獲取藍(lán)牙設(shè)備類型

//設(shè)置藍(lán)牙設(shè)備類型,平板
setprop bluetooth.device.class_of_device=26,1,10//查看藍(lán)牙設(shè)備類型
getprop bluetooth.device.class_of_device

3、系統(tǒng)源碼中設(shè)置藍(lán)牙設(shè)備類型

既然是prop屬性,那么寫(xiě)在某個(gè)mk里面就可以了吧,
但是不同的芯片系統(tǒng)方案,寫(xiě)法可能會(huì)有不同,
比如9679 方案,有devices目錄下有個(gè)bluetooth.prop文件專門用來(lái)定義藍(lán)牙相關(guān)prop屬性的。

device/mediatek/mt5879/configs/bluetooth.prop

bluetooth.device.class_of_device=40,4,60 //默認(rèn)居然是耳機(jī)!
bluetooth.device.class_of_device=26,1,10
bluetooth.profile.a2dp.source.enabled?=true
bluetooth.profile.avrcp.target.enabled?=true
bluetooth.profile.bas.client.enabled?=true
...

比如3588方案,并沒(méi)有個(gè) bluetooth.prop文件,都是用mk文件定義的prop屬性。

device/rockchip/common/modules/bluetooth.mk

# Set supported Bluetooth profiles to enabled
PRODUCT_PRODUCT_PROPERTIES += \ //普通屬性也可以這樣設(shè)置默認(rèn)值bluetooth.device.class_of_device?=26,1,10 \ //這個(gè)屬性原本沒(méi)有,是我加的!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
...

大致的修改就上面兩種情況,
一種是修改在某個(gè)prop文件,另外一種修改在mk文件。

但是也排除有其他文件定義的情況,可以在關(guān)鍵目錄先搜索看看:

grep -nr bluetooth.device.class_of_device
grep -nr bluetooth.profile.a2dp.source.enabled

class_of_device 屬性設(shè)備,不一定會(huì)定義,但是 a2dp.source 源碼中肯定會(huì)定義的。

4、Java代碼中設(shè)置藍(lán)牙prop屬性可行嗎?

Java設(shè)置prop代碼

SystemProperties.set("bluetooth.device.class_of_device", "40,4,60");

最好不要這樣做。
因?yàn)榈挠性?679和3588 方案的開(kāi)機(jī)廣播和系統(tǒng)服務(wù)啟動(dòng)后設(shè)置該屬性,查看打印是有報(bào)錯(cuò)提示的。
并且再次重啟有概率系統(tǒng)無(wú)法起來(lái),進(jìn)入Recovery模式。

所以這個(gè)估計(jì)是不可行的。
就像Android13 之后的代碼,無(wú)法執(zhí)行需要系統(tǒng)權(quán)限的adb shell命令那樣。
估計(jì)和系統(tǒng)權(quán)限限制有關(guān)。

三、其他

1、Android13藍(lán)牙prop協(xié)議屬性相關(guān)內(nèi)容:

如果是做藍(lán)牙相關(guān)研究,藍(lán)牙prop屬性是必須要掌握的;
這個(gè)是Android13 新出的,很多藍(lán)牙之前設(shè)置的屬性就不管用了。

https://blog.csdn.net/wenzhi20102321/article/details/139703045

2、藍(lán)牙設(shè)備屬性未分析到的地方

(1)源碼中讀取藍(lán)牙設(shè)備屬性的處理

系統(tǒng)代碼中哪里處理屬性 bluetooth.device.class_of_device ?
在源碼中大致有兩個(gè)地方有讀取這個(gè)屬性:

package\modules\Bluetooth\system\btif\src\btif_dm.cc
package\modules\Bluetooth\system\gd\sysprops\sysprops_module.cc

但是未看到讀取屬性后的具體判斷和處理!
也可能是c代碼不熟悉,看不懂具體處理過(guò)程。

(2)其他設(shè)備掃描到的藍(lán)牙屬性值和系統(tǒng)定義的設(shè)備屬性值的關(guān)聯(lián)過(guò)程

Java 代碼中耳機(jī)類型的值的定義:

//藍(lán)牙耳機(jī)
action = android.bluetooth.device.action.BOND_STATE_CHANGED//其他廣播也打印,這邊不一一寫(xiě)
device = 0D:3F:91:E2:FF:D3
getAlias = Y-12
type = 1
getDeviceClassType = 1028 // -->0x404
getMajorDeviceClassType = 1024  // -->0x400

Java上定義的值在不同版本上目前是沒(méi)有修改的,
這個(gè)和上面定義的prop值或者更早的BTA_DM_COD 的定義都是不同的,
難道和Android按鈕鍵值一樣,有一套映射文件和流程?
有興趣的可以自己研究看看。

3、Android 藍(lán)牙設(shè)備類型判斷代碼介紹

使用Java代碼如何獲取和區(qū)分藍(lán)牙設(shè)備類型

https://blog.csdn.net/wenzhi20102321/article/details/133777224

4、Android14 大屏開(kāi)機(jī)后藍(lán)牙可搜索但無(wú)法連接分析解決

Android14 上可能會(huì)有的問(wèn)題:

https://blog.csdn.net/wenzhi20102321/article/details/141069481

http://www.risenshineclean.com/news/57261.html

相關(guān)文章:

  • php裝飾公司網(wǎng)站源碼云南seo網(wǎng)站關(guān)鍵詞優(yōu)化軟件
  • 哪個(gè)網(wǎng)站做黑色星期五訂酒店活動(dòng)如何做網(wǎng)站設(shè)計(jì)
  • 咖啡網(wǎng)站設(shè)計(jì)模板有什么好的網(wǎng)站嗎
  • 常州市城鄉(xiāng)建設(shè)學(xué)院網(wǎng)站如何在百度推廣自己的產(chǎn)品
  • 有沒(méi)有專門做牛仔的網(wǎng)站谷歌引擎搜索入口
  • 政府網(wǎng)站建設(shè)運(yùn)維情況自查沈陽(yáng)seo關(guān)鍵詞排名優(yōu)化軟件
  • 建設(shè)醫(yī)療網(wǎng)站怎樣注冊(cè)一個(gè)自己的平臺(tái)
  • 臨沂網(wǎng)站建設(shè)設(shè)計(jì)公司小紅書(shū)廣告投放平臺(tái)
  • 做早餐燒菜有什么網(wǎng)站seo綜合查詢是什么
  • 內(nèi)網(wǎng)網(wǎng)站建設(shè)方案廣告視頻
  • 杭州做網(wǎng)站需要多少錢站長(zhǎng)統(tǒng)計(jì)網(wǎng)站統(tǒng)計(jì)
  • 艾辰做網(wǎng)站黑帽seo技巧
  • 有沒(méi)有專業(yè)收費(fèi)做網(wǎng)站優(yōu)化的數(shù)字化營(yíng)銷
  • 塘下網(wǎng)站建設(shè)深圳網(wǎng)絡(luò)推廣公司排名
  • 凡科網(wǎng)做的網(wǎng)站保存后就上傳了嗎深圳網(wǎng)絡(luò)推廣渠道
  • 網(wǎng)站制作哪家實(shí)惠seo權(quán)重優(yōu)化軟件
  • 深圳網(wǎng)站維護(hù)優(yōu)化百度識(shí)別圖片找圖
  • 單位加強(qiáng)網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣自學(xué)
  • 徐州做網(wǎng)站需要多少錢seo自媒體培訓(xùn)
  • 如何寫(xiě)代碼做網(wǎng)站百度關(guān)鍵詞排名軟件
  • 滕州做網(wǎng)站網(wǎng)店代運(yùn)營(yíng)騙局流程
  • 做網(wǎng)站的公司都是小公司百度關(guān)鍵詞模擬點(diǎn)擊軟件
  • 好的網(wǎng)站具備什么條件找代寫(xiě)文章寫(xiě)手
  • 衡陽(yáng)網(wǎng)站建設(shè)制作全媒體運(yùn)營(yíng)師報(bào)名入口
  • 房產(chǎn)資訊什么網(wǎng)站做的好廈門百度推廣開(kāi)戶
  • 房產(chǎn)網(wǎng)站開(kāi)發(fā)文檔合肥seo軟件
  • 網(wǎng)站建設(shè)屬于seo數(shù)據(jù)
  • java網(wǎng)站開(kāi)發(fā)實(shí)例視頻教程朋友圈廣告代理商官網(wǎng)
  • 網(wǎng)站設(shè)置關(guān)于我們?cè)趺醋鐾茝V策略怎么寫(xiě)
  • WordPress首頁(yè)站內(nèi)搜索開(kāi)魯seo網(wǎng)站