Android 12 藍(lán)牙權(quán)限(解決閃退問題)

項(xiàng)目配置是compileSdkVersion31?targetSdkVersion30? 手機(jī)升級了Android 12后運(yùn)行Crash这溅。照理說targetSdkVersion沒有用31脏答,怎么會(huì)報(bào)Android 12的藍(lán)牙權(quán)限錯(cuò)誤猾普,百思不得其解皮获,先來看看Android12的藍(lán)牙權(quán)限乓梨。

1.Manifest權(quán)限

<manifest>? ?

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

<!--請求舊設(shè)備上的藍(lán)牙權(quán)限牲剃,可設(shè)置android:maxSdkVersion為30遣疯。這個(gè)兼容性步驟幫助系統(tǒng)只授予你的應(yīng)用程序所需的藍(lán)牙權(quán)限,當(dāng)安裝在運(yùn)行Android 12或更高的設(shè)備上凿傅。>? ?

<uses-permission android:name="android.permission.BLUETOOTH"? ? ? ? ? ? ? ? ? ? android:maxSdkVersion="30" />? ?

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"? ? ? ? ? ? ? ? ? ? ?android:maxSdkVersion="30" />? ?

<!-- 有藍(lán)牙掃描功能的時(shí)候需要缠犀。?-->

? <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />? ?

<!--如果你的應(yīng)用程序不使用藍(lán)牙掃描結(jié)果得出物理位置信息,可以加上usesPermissionFlags聲明你的scan結(jié)果不會(huì)用于推導(dǎo)出物理位置聪舒。-->?

<uses-permission android:name="android.permission.BLUETOOTH_SCAN"? ? ? ? ? ? ? ? ? ? ?android:usesPermissionFlags="neverForLocation" />

<!--僅當(dāng)你的應(yīng)用程序使設(shè)備可被藍(lán)牙設(shè)備發(fā)現(xiàn)時(shí)需要辨液。 -->? ?

<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />? ?

<!-- 只有當(dāng)你的應(yīng)用程序與已經(jīng)配對的藍(lán)牙設(shè)備通信時(shí)才需要。 -->? ?

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />? ?

<!-- 只有當(dāng)你的應(yīng)用程序使用藍(lán)牙掃描結(jié)果來獲取物理位置時(shí)才需要箱残。-->?

? <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />? ??

<!--在Android 12 如果你確定你的應(yīng)用程序從來沒有從藍(lán)牙掃描結(jié)果獲取物理位置滔迈,則不需要這個(gè)權(quán)限。-->??

<!--在Android 12以下 這個(gè)權(quán)限是必須要的-->??

? <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

?<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<!--如果你的應(yīng)用程序支持一個(gè)服務(wù)疚宇,并且可以運(yùn)行在Android 10 (API級別29)或Android 11亡鼠,你還必須聲明ACCESS_BACKGROUND_LOCATION權(quán)限來發(fā)現(xiàn)藍(lán)牙設(shè)備。-->

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

</manifest>



2.動(dòng)態(tài)請求相關(guān)藍(lán)牙權(quán)限

BLUETOOTH_ADVERTISE敷待、BLUETOOTH_CONNECT和BLUETOOTH_SCAN權(quán)限是運(yùn)行時(shí)權(quán)限间涵。因此必須在應(yīng)用程序中明確請求用戶批準(zhǔn),才能查找藍(lán)牙設(shè)備榜揖,使設(shè)備可被其他設(shè)備發(fā)現(xiàn)勾哩,或與已經(jīng)配對的藍(lán)牙設(shè)備通信。當(dāng)你的應(yīng)用程序請求這些權(quán)限中的至少一個(gè)举哟,系統(tǒng)提示用戶允許你的應(yīng)用程序訪問附近的設(shè)備思劳,如圖1所示。

//所以請加上這段代碼

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {

? ? if (!checkSinglePermission(Manifest.permission.BLUETOOTH_SCAN) ||!checkSinglePermission(Manifest.permission.BLUETOOTH_CONNECT)) {

????????String[] list =new String[]{Manifest.permission.BLUETOOTH_SCAN, Manifest.permission.BLUETOOTH_CONNECT};

? ? ? ? requestPermissions(list, Constants.PERMISSION_REQUEST_SCAN);

? ? }

}

3.為什么閃退


Google Play / Android Vitals

先完成1妨猩,2兩步潜叛, 然后再去做各種藍(lán)牙有關(guān)的操作,不然在Android 12 手機(jī)上會(huì)直接閃退:琛威兜!

在EnableBluetooth的文檔里有這一句

參考鏈接:

https://stackoverflow.com/questions/67722950/android-12-new-bluetooth-permissions

https://developer.android.com/guide/topics/connectivity/bluetooth/permissions#assert-never-for-location

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市庐椒,隨后出現(xiàn)的幾起案子椒舵,更是在濱河造成了極大的恐慌,老刑警劉巖约谈,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笔宿,死亡現(xiàn)場離奇詭異犁钟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)泼橘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門涝动,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人炬灭,你說我怎么就攤上這事捧存。” “怎么了担败?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長镰官。 經(jīng)常有香客問我提前,道長,這世上最難降的妖魔是什么泳唠? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任狈网,我火速辦了婚禮,結(jié)果婚禮上笨腥,老公的妹妹穿的比我還像新娘拓哺。我一直安慰自己,他們只是感情好脖母,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布士鸥。 她就那樣靜靜地躺著,像睡著了一般谆级。 火紅的嫁衣襯著肌膚如雪烤礁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天肥照,我揣著相機(jī)與錄音脚仔,去河邊找鬼。 笑死舆绎,一個(gè)胖子當(dāng)著我的面吹牛鲤脏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吕朵,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼猎醇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了边锁?” 一聲冷哼從身側(cè)響起姑食,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茅坛,沒想到半個(gè)月后音半,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體则拷,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年曹鸠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了煌茬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡彻桃,死狀恐怖坛善,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邻眷,我是刑警寧澤眠屎,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站肆饶,受9級特大地震影響改衩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜驯镊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一葫督、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧板惑,春花似錦橄镜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至裆馒,卻和暖如春妖异,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背领追。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工他膳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绒窑。 一個(gè)月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓棕孙,卻偏偏與公主長得像炫掐,于是被迫代替她去往敵國和親闷叉。 傳聞我的和親對象是個(gè)殘疾皇子癣猾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容