2024-04-22:Android12以上使用藍(lán)牙

問題描述:
按照下面步驟增加了藍(lán)牙權(quán)限,但是沒有自動彈窗申請權(quán)限,并且自動拒絕,在檢查權(quán)限授權(quán)校驗時不通過

Android11之后增加了兩個藍(lán)牙相關(guān)權(quán)限

    <!-- Android 31 之后新增了兩個杈限 -->
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

這兩個權(quán)限是運行時權(quán)限,需要動態(tài)申請,app擁有這兩個權(quán)限才能正常連接藍(lán)牙設(shè)備進行傳輸。

  public String[] requestPermissions() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
            // Android 版本大于等于 Android12 時
            // 只包括藍(lán)牙這部分的權(quán)限,其余的需要什么權(quán)限自己添加
            return new String[]{
                    ...
                    Manifest.permission.BLUETOOTH,
                    Manifest.permission.BLUETOOTH_ADMIN,

                    Manifest.permission.BLUETOOTH_SCAN,
                    Manifest.permission.BLUETOOTH_CONNECT,
                    ...
            };
        }

只有當(dāng)(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)時,才會彈窗申請新加的兩個權(quán)限,所以代碼中需要增加一下Android版本的判斷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容