高通平臺 android7.1 藍牙的可見性設置

1、情景

? ? ? ? 本機設備只打開藍牙開關,但不停留在設置里面藍牙頁面時,其他設備掃描不到本機設備。

2、Android7.1中,默認的行為是,只有在設置里面的藍牙頁面,才會開啟藍牙的可見性;如果只是打開下拉欄的藍牙快捷開關,是不會開啟藍牙可見性的。

3、需求:

? ? ? ? (1)打開藍牙時,直接打開藍牙可見性

? ? ? ? (2)不停留在設置里面藍牙頁面時,要掃描到本機設備

4、需求一的解決方案:

????????打開藍牙時,直接打開藍牙可見性。如下:

路徑:****/packages/apps/Bluetooth/src/com/android/bluetooth/btservice/AdapterProperties.java

void onBluetoothReady() {Log.d(TAG, "ScanMode =  " + mScanMode );Log.d(TAG, "State =  " + getState() );// When BT is being turned on, all adapter properties will be sent in 1// callback. At this stage, set the scan mode.synchronized (mObject) {if (getState() == BluetoothAdapter.STATE_TURNING_ON &&mScanMode == BluetoothAdapter.SCAN_MODE_NONE) {/* mDiscoverableTimeout is part of theadapterPropertyChangedCallback received beforeonBluetoothReady */if (mDiscoverableTimeout != 0)//setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);else /* if timeout == never (0) at startup */setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);/* though not always required, this keeps NV up-to date on first-boot after flash */setDiscoverableTimeout(mDiscoverableTimeout);}}}

? ? 如上圖:? ? 將? setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);? 改為

????????setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);即可。

5、需求二的解決方案,如下:

路徑:******/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothSettings.java

@Overridepublic void onPause() {super.onPause();if (mBluetoothEnabler != null) {mBluetoothEnabler.pause();}// Make the device only visible to connected devices.//mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);if (isUiRestricted()) {return;}getActivity().unregisterReceiver(mReceiver);}

如上圖,在onPause()方法中將mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);注釋掉即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44866.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44866.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44866.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于MacOS系統Sonoma 14.5的SSH服務禁止密碼登錄

基于系統Sonoma 14.5,不同系統有所差異。 修改sshd_config文件 sudo vim /etc/ssh/sshd_config找到以下兩行取消注釋,修改值為 no PasswordAuthentication no KbdInteractiveAuthentication no重啟sshd服務 # 關閉服務 sudo launchctl unload -w /System…

安泰電壓放大器的選型方案是什么

電壓放大器是一種常見的電路元件,廣泛應用于各種電子設備中。在選擇電壓放大器的時候,我們需要考慮一系列因素,以確保選型方案能夠滿足實際需求。下面安泰電子將詳細介紹電壓放大器選型的主要考慮因素,包括應用需求、技術性能、成…

自己寫的逆向案例十二——一號店登錄密碼逆向

網址:1號店登錄 找到登錄接口: 查看棧 直接跟棧,不多說 ,點擊doubblesubmit棧 很明顯發現加密位置,而且有很明顯的提示,這是一個標準RSA類型的,看到new JSEncrypt和setPublicKey就知道了&…

【AI大模型新型智算中心技術建設白皮書 2024】

文末有福利! 一、新算效——重塑計算架構 1.1 下一代 AI 芯片設計思路 以 GPU 為 代 表 的 高 性 能 并 行 計 算 芯 片 架 構 和 以 針 對 AI 領 域 專 用 加 速(DSA, Domain Specific Architecture,DSA)為代表的芯片架構是目…

setuptools打包-分發-安裝-發布

一、定義 學習網址setup.py 編寫打包安裝開源到PYPI中 二、實現 學習網址 https://python.iswbm.com/c08/c08_15.htmlsetup.py 編寫 采用分發工具setuptools進行發布,因此采用setuptools包進行setup.py的編寫 demo案例 from setuptools import setup, find_pack…

springboot下 創建TCO客戶端,并發送消息

import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service;import java.io.*; import java.net.Socket;/*** 請求tcp接口** author Mr丶s* date 2024/7/10 下午3:03* description*/ Slf4j Service public class TcpClientService {private Socket soc…

在Office里面無縫使用任何一家AI大模型,免費的!

昨天一個朋友說他在Word里面,用了一個插件,可以在右側和AI對話,然后把AI生成的內容載入到左邊的文檔中。 我當時心理的想法:我這是穿越了嗎?這不是我去年2月就實現,然后又扔掉的功能嗎? 是的&a…

paddla模型轉gguf

在使用ollama配置本地模型時,只支持gguf格式的模型,所以我們首先需要把自己的模型轉化為bin格式,本文為paddle,onnx,pytorch格式的模型提供說明,safetensors格式比較簡單請參考官方文檔,或其它教…

Springboot自習室在線預約系統-計算機畢業設計源碼050000

摘 要 遠程預約是一種全新的網絡租用方式,它通過互聯網突破了時間和空間限制,實現了便捷快速的預約與管理功能。在對數據信息有效組織并整合了一定使用功能后,遠程預約系統可以方便地實現預約與取消,以及信息查詢等功能。經過本人…

vscode gitee問題

如果提交報user.name和user.email錯誤時,在本地工作目錄中.git隱藏文件夾中,config文件添加,添加的名字和email地址--遠程git倉庫的登錄名字和email地址。 [user] name xxx email xxx 分支合并:是把別的分支合并到所在分支。

2024最適合小白的Midjourney教程,值得收藏!

一、Midjourney 的提示詞 1、提示可以包括一個或多個圖像 URL、多個文本短語以及一個或多個參數 1)Image Prompts(圖像提示):可以將圖像 URL 添加到提示中以影響最終結果的樣式和內容。圖像 URL 始終出現在提示的前面。文件應以.…

配置 Node.js 內存限制

配置 Node.js 內存限制 Node.js 應用程序通常需要配置堆內存的大小以優化性能和避免內存溢出問題。你可以通過命令行參數、環境變量或系統屬性來設置 Node.js 的內存限制。下面將分別介紹在 Windows、Linux 和 macOS 系統下的配置方法。 Windows 系統 1. 命令行參數方式 在…

爆款文案管理系統設計

設計一個爆款文案管理系統,目標是幫助營銷團隊高效地創建、管理并分析吸引人的文案,以提升產品或服務的市場吸引力和銷售轉化率。以下是一些關鍵功能和設計考量點: 1. 用戶友好界面 簡潔直觀的界面:確保系統界面清晰&#xff0c…

廣告監測中的c2s/s2s,點擊同步/異步監測

在 ADX 中,監測上報以上報源區分為兩種,c2s 和 s2s 。 C2S(Client to Server):由用戶端(APP)上報給第三方監測平臺的服務器 S2S(server to server):由用戶端(APP&#xf…

vue3項目打包的時候,怎么區別測試環境,和本地環境

在Vue 3項目中區別測試環境和本地環境,并標記接口的方法可以通過環境變量來實現。 首先,你可以在你的項目根目錄下創建一個.env文件,并定義你的環境變量。比如,你可以創建.env.local作為本地環境的配置文件,.env.test…

【Win10 JDK環境配置】

1.JDK下載地址 jdk下載1:http://www.kkx.net/zt/jdk.html jdk下載2:https://www.oracle.com/cn/java/technologies/downloads/#jdk17-windows 2.jdk安裝:雙擊.exe文件打開安裝器按步驟安裝 3.配置環境變量 新建系統變量JAVA_HOME:D:\java11\jdk-11 將J…

intel萬兆網卡固件下載方法

客戶新安裝的機器上含有X710和E810兩種萬兆網卡,根據vmware的兼容性列表,需要安裝對應的驅動和固件,驅動從vmware/broadcom官網下載,固件則需要從intel官網下載。 在intel support頁面里,找到網卡的型號: …

uni-app/vue項目如何封裝全局消息提示組件

效果圖&#xff1a; 第一步&#xff1a;封裝組件和方法&#xff0c;采用插件式注冊&#xff01; 在項目目錄下新建components文件夾&#xff0c;里面放兩個文件&#xff0c;分別是index.vue和index.js. index.vue&#xff1a; <template><div class"toast&quo…

【C++報錯已解決】Invalid Use of Incomplete Type

&#x1f3ac; 鴿芷咕&#xff1a;個人主頁 &#x1f525; 個人專欄: 《C干貨基地》《粉絲福利》 ??生活的理想&#xff0c;就是為了理想的生活! 文章目錄 引言&#xff1a;一、問題描述1.2 報錯分析1.3 解決思路 二、解決方法2.1 方法一&#xff1a;完整類型定義2.2 方法二…

idea:解決Maven報錯 Properties in parent definition are prohibited

在父pom文件中定義了 <dhversion>1.0-SNAPSHOT</dhversion> 在子模塊中引用 <parent><groupId>com.douhuang</groupId><artifactId>douhuang-springcloud</artifactId><version>${dhversion}</version> </parent&…