国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android連接藍牙設(shè)備問題(android.permission.BLUETOOTH)

這篇具有很好參考價值的文章主要介紹了Android連接藍牙設(shè)備問題(android.permission.BLUETOOTH)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????????近期遇到一個問題,之前發(fā)布的APP連接藍牙都是正常的,現(xiàn)在有人反映連不上了。經(jīng)過測試發(fā)現(xiàn):android 12 和 harmonyOS 3.0.0 都會有這個問題,而之前的版本就不會有這個。

????????經(jīng)過網(wǎng)上一番查找,原來是因為最近Google發(fā)布的Android 12,新引入了 BLUETOOTH_SCAN、BLUETOOTH_CONNECT、BLUETOOTH_ADVERTISE 三個權(quán)限。、

????????從Android 12開始,過去的藍牙權(quán)限被拆分成了3個新的權(quán)限,并且全都是運行時權(quán)限(需要動態(tài)申請):

  • BLUETOOTH_SCAN 用于使用藍牙掃描附件其他的藍牙設(shè)備
  • BLUETOOTH_ADVERTISE 用于允許當前的設(shè)備被其他的藍牙設(shè)備所發(fā)現(xiàn)
  • BLUETOOTH_CONNECT 用于連接之前已經(jīng)配對過的藍牙設(shè)備

????????這3個權(quán)限都是從Android 12系統(tǒng)才開始有的,所以為了能夠兼容過去的老版本,建議在AndroidManifest.xml中這樣聲明:

    <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"  android:maxSdkVersion="30"/>
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

????????新增的3個藍牙權(quán)限都是運行時權(quán)限,因此只在AndroidManifest.xml中聲明是沒有用的,還要在代碼中動態(tài)申請權(quán)限才行。必須先在應(yīng)用中用戶明確批準使用,然后才能查找藍牙設(shè)備、使某個設(shè)備可被其他設(shè)備檢測到,或者與已配對的藍牙設(shè)備通信。

????????具體的申請方法如下:首先要判斷當前的系統(tǒng)版本,只有當Android 12及以上系統(tǒng)時,才應(yīng)該去請求新增的藍牙權(quán)限。(PS:3個權(quán)限都屬于同一個權(quán)限組,因此理論上只要申請一個權(quán)限,另外2個也就自動授權(quán)了。)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            String[] permission = checkSelfPermissionArray(this, new String[]{
                    Manifest.permission.BLUETOOTH_SCAN,
                    Manifest.permission.BLUETOOTH_ADVERTISE,
                    Manifest.permission.BLUETOOTH_CONNECT});
            if (permission.length > 0) {
                ActivityCompat.requestPermissions(this, permission, 102);
            }
        }

注意:

之前的Android系統(tǒng)中有一個很奇怪的現(xiàn)象,當我們在應(yīng)用中使用藍牙掃描附件設(shè)備的時候,需要申請地理位置權(quán)限。藍牙權(quán)限并不是運行時權(quán)限,但地理位置權(quán)限卻是文章來源地址http://www.zghlxwxcb.cn/news/detail-793432.html

到了這里,關(guān)于Android連接藍牙設(shè)備問題(android.permission.BLUETOOTH)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 深入了解Android藍牙Bluetooth【基礎(chǔ)+進階】

    也可以說是藍牙技術(shù)。所謂藍牙(Bluetooth)技術(shù),實際上是一種短距離無線電技術(shù),是由愛立信公司公司發(fā)明的。利用“藍牙”技術(shù),能夠有效地簡化掌上電腦、筆記本電腦和移動電話手機等移動通信終端設(shè)備之間的通信,也能夠成功地簡化以上這些設(shè)備與因特網(wǎng)Internet之間的通

    2024年02月05日
    瀏覽(30)
  • Android Bluetooth(一)——藍牙的開啟和搜索

    Android Bluetooth(一)——藍牙的開啟和搜索

    Android 平臺包含藍牙網(wǎng)絡(luò)堆棧支持,此支持能讓設(shè)備以無線方式與其他藍牙設(shè)備交換數(shù)據(jù)。應(yīng)用框架提供通過 Android Bluetooth API 訪問藍牙功能的權(quán)限。這些 API 允許應(yīng)用以無線方式連接到其他藍牙設(shè)備,從而實現(xiàn)點到點和多點無線功能。 Android 應(yīng)用可通過 Bluetooth API 執(zhí)行以下操

    2024年01月16日
    瀏覽(18)
  • 【Android開發(fā)基礎(chǔ)】藍牙信息的獲?。˙luetooth)

    【Android開發(fā)基礎(chǔ)】藍牙信息的獲?。˙luetooth)

    描述:藍牙技術(shù)是一種無線數(shù)據(jù)和語音通信開放的全球規(guī)范,它是基于低成本的近距離無線連接,為固定和移動設(shè)備建立通信環(huán)境的一種特殊的近距離無線技術(shù)連接。藍牙使當前的一些便攜移動設(shè)備和計算機設(shè)備能夠不需要電纜就能連接到互聯(lián)網(wǎng),并且可以無線接入互聯(lián)網(wǎng)。

    2024年02月09日
    瀏覽(23)
  • 《Android學習筆記》Android12藍牙掃描不到設(shè)備的權(quán)限問題

    Android12 關(guān)于藍牙這部分新增了 BLUETOOTH_SCAN 、 BLUETOOTH_ADVERTISE 和 BLUETOOTH_CONNECT 權(quán)限,這些權(quán)限都屬于敏感權(quán)限,都需要在代碼中動態(tài)申請。移除了Android11 及以下版本中必須申請的位置權(quán)限[ FINE_LOCATION ] 和 [ COARES_LOCATION ]。 1、在Manifest.xml清單文件中添加對應(yīng)的權(quán)限。 其中 An

    2024年02月15日
    瀏覽(23)
  • Android Studio 簡要實現(xiàn)藍牙(Bluetooth)通信(附加作業(yè))

    Android Studio 簡要實現(xiàn)藍牙(Bluetooth)通信(附加作業(yè))

    1.兩臺設(shè)備可以通過藍牙進行通信 2.模擬Client 和Server端實現(xiàn)簡單的通信。 如果想讓應(yīng)用啟動設(shè)備發(fā)現(xiàn)或操縱藍牙設(shè)置,則除了 BLUETOOTH 權(quán)限以外,還必須聲明 BLUETOOTH_ADMIN 權(quán)限。大多數(shù)應(yīng)用只是需利用此權(quán)限發(fā)現(xiàn)本地藍牙設(shè)備。除非應(yīng)用是根據(jù)用戶請求修改藍牙設(shè)置的“超級

    2024年02月03日
    瀏覽(18)
  • Android藍牙使能流程圖(Android Bluetooth enable) -- java & jni層

    Android藍牙使能流程圖(Android Bluetooth enable) -- java & jni層

    在介紹Android enable流程之前,我們首先來看下Android的流程圖 以上圖示是android8以上的,主要跟Android8之前的架構(gòu)在于Bluetooth stack跟vendor層之間增加一層HIDL,主要是抽象硬件層的作用 OK,回歸主題,我們來看下Android的enable流程,首先上一張架構(gòu)圖 另外聲明下:我們做了一些列

    2024年02月09日
    瀏覽(20)
  • RK3288 Android11 RTL8723DS WiFi 和 藍牙Bluetooth 適配

    RK3288 Android11 RTL8723DS WiFi 和 藍牙Bluetooth 適配

    ??瑞芯微RK系列對“REALTEK瑞昱公司”的wifi、藍牙雙模的模組都有內(nèi)置適配的,因此HAL層、Framework層、協(xié)議棧及庫文件都不需要移植適配,只需修改設(shè)備樹和一些配置文件即可。 補充: RTL8723DS時鐘輸入源講解 ??RTL8723DS模組的第24號引腳是模組的時鐘輸入源,需要給此提供

    2024年02月07日
    瀏覽(18)
  • “List of Devices Attached“:Android設(shè)備連接問題解析

    大家好,我是免費搭建查券返利機器人賺傭金就用微賺淘客系統(tǒng)3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿!今天,我們將聚焦于一個在Android開發(fā)和移動設(shè)備管理中經(jīng)常遇到的問題,那就是\\\"list of devices attached\\\"。讓我們一起深入了解這個話題,了解其中的奧秘和解

    2024年03月13日
    瀏覽(19)
  • Android Ble藍牙App(六)請求MTU與顯示設(shè)備信息

    Android Ble藍牙App(六)請求MTU與顯示設(shè)備信息

    ??在上一篇文章中已經(jīng)了解了數(shù)據(jù)操作的方式,而數(shù)據(jù)交互的字節(jié)長度取決于我們手機與藍牙設(shè)備的最大支持長度。 Ble藍牙App(一)掃描 Ble藍牙App(二)連接與發(fā)現(xiàn)服務(wù) Ble藍牙App(三)特性和屬性 Ble藍牙App(四)UI優(yōu)化和描述符 Ble藍牙App(五)數(shù)據(jù)操作 Ble藍牙App(六)

    2024年02月04日
    瀏覽(24)
  • android 實現(xiàn)ble藍牙自動配對連接

    android 實現(xiàn)ble藍牙自動配對連接

    藍牙自動配對,即搜索到其它藍牙設(shè)備之后直接進行配對,不需要彈出配對確認框或者密鑰輸入框。 本文章用來連接藍牙設(shè)備ai-thinker,如果你要連接其他藍牙設(shè)備,注意修改相關(guān)名字以及修改設(shè)備初試pin值。 將Demo安裝在Android手機上,點擊按鈕,可以實現(xiàn)與目標藍牙設(shè)備的

    2023年04月24日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包