中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 6.0 藍牙搜索不到設備原因,MIUI權限申請機制方法

發布時間:2020-08-21 00:05:08 來源:腳本之家 閱讀:263 作者:ddiagw 欄目:移動開發

為提供更高的數據保護 Android6.0版本上增加了關于Wifi和藍牙的權限。

藍牙搜索到設備需要用到定位服務,所以在開發中 targetSdkVersion 大于等于23(6.0) 需要在代碼中進行權限獲取

需要在配置文件中申請兩個權限:

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

在代碼中調用時先進行權限判斷,如果沒有權限就去申請權限:

private void requestPermission() {
 if (Build.VERSION.SDK_INT >= 23) {
  int checkAccessFinePermission = ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
  if (checkAccessFinePermission != PackageManager.PERMISSION_GRANTED) {
   ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
     REQUEST_PERMISSION_ACCESS_LOCATION);
   Log.d(TAG, "沒有權限,請求權限");
   return;
  }
  Log.d(TAG, "已有定位權限");
 }
 //做下面該做的事
}

調用ActivityCompat.requestPermissions()之后會有一個回調

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
 switch (requestCode) {
  case Common.REQUEST_PERMISSION_ACCESS_LOCATION: {
   if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    Log.d(TAG, "開啟權限permission granted!");
    //做下面該做的事
   } else {
    Log.d(TAG, "沒有定位權限,請先開啟!");
   }
  }
 }
 super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

網上有人說,當彈出權限確認框之后,用戶點擊確定或者拒絕時才會調用進行回調:onRequestPermissionsResult

但是在小米手機MIUI上并不是這樣的。MIUI上是這樣的:權限管理那里設置應用的定位權限為拒絕或者詢問時checkAccessFinePermission != PackageManager.PERMISSION_GRANTED,說明沒有定位權限 。如果設置為允許,checkAccessFinePermission ==PackageManager.PERMISSION_GRANTED,說明有定位權限。

當設置拒絕時去ActivityCompat.requestPermissions ,并沒有彈出權限使用確認框,而是直接回調:沒有權限

當設置詢問時去ActivityCompat.requestPermissions ,并沒有彈出權限使用確認框,而是直接回調:已有權限,然后在調用藍牙代碼的時候彈出確認框。當點擊允許時權限管理那里變成了允許,當點擊拒絕時,權限管理那里變成拒絕,但是下次再進行權限檢查時返回 已有定位權限。權限管理那里明明是拒絕的啊,怎么就有定位權限了?感覺這是MIUI的一個bug,我的系統是:MIUI 8 6.11.3開發版。

以上這篇Android6.0 藍牙搜索不到設備原因,MIUI權限申請機制方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大埔县| 东安县| 南昌县| 琼海市| 防城港市| 改则县| 潞西市| 枞阳县| 公主岭市| 合作市| 哈尔滨市| 达州市| 临城县| 株洲县| 丹凤县| 永康市| 焦作市| 郓城县| 无棣县| 武汉市| 黄平县| 海伦市| 五峰| 姚安县| 白水县| 昌宁县| 阿合奇县| 黔西县| 清水河县| 阳泉市| 汶川县| 德格县| 呼玛县| 古浪县| 昭觉县| 长白| 清流县| 吴川市| 修文县| 南丰县| 儋州市|