android M 搜尋引數的設定

2021-08-14 02:55:21 字數 1060 閱讀 4950

相比於android l使用的藍芽協議棧blueangel,android m使用的是bluedroid藍芽協議棧。bluedroid搜尋藍芽裝置的預設時間是12.8s,而blueangel預設的搜尋時間是60s。這就造成有些時候,bluedroid搜尋的藍芽裝置過少或者搜尋不到某些裝置的情況。

針對bluedroid的預設搜尋引數可以修改如下幾種方法:

方法一、增大搜尋的總時間長度

在system/bt/btif/src/btif_dm.c下:

#define btif_dm_default_inq_max_duration 

10 //預設

根據藍芽規格,inquriy time = n*1.28 sec,

n range:1 ~ 48  , time range: 1.28s~61.44s

方法二、修改單次搜尋的window 和interval

在 system/bt/stack/btm/btm_devctl.c 檔案下的reset_complete()會對搜尋的這兩個引數賦值;

這兩個引數的定義在:system/bt/stack/include/hcidefs.h下:

#define  hci_def_inquiryscan_interval   0x1000 /*2.56 sec*/

#define  hci_def_inquiryscan_window   0x12 /*11.25 ms*/

其中,hci_def_inquiryscan_interval 是兩個搜尋的間隔,也即br/edr controller started上一次的inquiry scan到準備進行下一次inquiry scan的間隔; 範圍:0x0012-0x1000,n*0.625ms

hci_def_inquiryscan_window 一次搜尋的時間,範圍:0x0011-0x1000; n*0.625ms

inquiryscan_interval值要比inquiryscan_window值大2倍才可以;

建議:把inquiryscan interval設定為1.28s;inquiryscan_window設定為22.5ms;這樣慢慢微調一下,找到貴司希望的值

android M 如何獲取設定應用通知開關狀態

最近專案需要,需要關閉應用通知,並在一定情況開啟。於是在settings 原始碼中找到了相關設定流程,提煉出來就是很簡單的幾句,貼出來分享給大家。導包 import android.content.pm.packagemanager import android.content.context in...

方便的Android M動態許可權配置框架

簡單,方便的android m動態許可權配置框架,基於aop方式aspectjx,支援類,方法的許可權配置,更中意的是支援依賴庫里的activity的許可權配置,你不再擔心依賴第三方庫出現許可權問題怎麼辦了。gradle 依賴 compile com.firefly1126.permissionas...

設定合適的引數

根據前面的計算公式我們可以知道 影響複雜度的主要是傳入模組的引數種類和引數數量,所以我們可以通過更改傳入模組的種類和數量來降低耦合度。1 控制引數個數 合理的設計結構體 如果引數需要需要傳入5個引數,而且5個引數具有統一性或者相似性,那麼我們就可以將5個引數統一設計為乙個結構體 這本身就是結構體的目...