为提供更高的数据保护 Android6.0版本上增加了关于Wifi和蓝牙的权限。

蓝牙搜索到设备需要用到定位服务,所以在开发中 targetSdkVersion 大于等于23(6.0) 需要在代码中进行权限获取

需要在配置文件中申请两个权限:

  1. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  2. <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权限申请机制相关推荐

  1. android 6.0蓝牙,Android 6.0 蓝牙搜索不到设备原因,MIUI权限申请机制方法

    为提供更高的数据保护 Android6.0版本上增加了关于Wifi和蓝牙的权限. 蓝牙搜索到设备需要用到定位服务,所以在开发中 targetSdkVersion 大于等于23(6.0) 需要在代码中进 ...

  2. android 6.0蓝牙服务开启,Android应用开发之Android 6.0 蓝牙搜索不到设备原因,MIUI权限申请机制方法...

    本文将带你了解Android应用开发Android 6.0 蓝牙搜索不到设备原因,MIUI权限申请机制方法,希望本文对大家学Android有所帮助. 为提供更高的数据保护   Android6.0版本 ...

  3. android 蓝牙找不到电脑,Android6.0 蓝牙搜索不到设备原因

    原因: 为提供更高的数据保护 Android6.0版本上增加了关于Wifi和蓝牙的权限,以下是官方文档说明: 图1 修改方法: 在AndroidManifest 中添加权限 或者 注意 如果targe ...

  4. Android6.0 蓝牙搜索不到设备原因

    原因 为提供更高的数据保护 Android6.0版本上增加了关于Wifi和蓝牙的权限 官网地址:https://developer.android.com/about/versions/marshma ...

  5. 手机为什么蓝牙搜索不到设备

    手机蓝牙搜索不到设备的原因有很多,接下来就来为大家介绍其中的原因和解决方法: 1.可能是搜索时设备离太远,在连接时可以将两台设备靠近,保持在通讯范围内. 2.可能是手机系统有一些卡,操作延迟,可以重启 ...

  6. Android6.0源码解读之ViewGroup点击事件分发机制

    本篇博文是Android点击事件分发机制系列博文的第三篇,主要是从解读ViewGroup类的源码入手,根据源码理清ViewGroup点击事件分发原理,明白ViewGroup和View点击事件分发的关系 ...

  7. android10蓝牙搜不到ble设备_Android 6.0 蓝牙 找不到设备问题

    问题由来 公司有项目需要使用手机蓝牙配对蓝牙模块,但是在写代码调试中,发现无法搜索到蓝牙模块(有时可以搜索到),问题找了很长时间,确定没有代码上的问题,然后换了个华为低端手机,发现可以搜索到,证实了我 ...

  8. android10蓝牙搜不到ble设备_Android 蓝牙搜索不到设备(android M权限问题)

    今天早上做了一个android的App的一个蓝牙模块,刚开始使用了第三方的蓝牙操作库(为了偷懒)...调试的时候却发现一个问题,不论怎样都无法搜索到设备. 重新自己写一个操作库,一步一步检查, 蓝牙开 ...

  9. ubuntu20.04 蓝牙搜索不到设备(实测有效)

    一.问题 本来蓝牙是没问题的,突然间无法搜到到设备了 我是ubuntu 20.04 二.分析 尝试了很多教程,都不行 1. sudo rmmod btusb sleep 1 sudo modprobe ...

最新文章

  1. Redis 限流的 3 种方式
  2. B/S结构的一机多屏的技术论证及可行性讨论
  3. Linux操作系统报:read-only file system
  4. webpack3.0 压缩css 但是不在html中引用,webpack怎样压缩css?
  5. axios与ajax对比,vue体系中axios请求对比jquery-ajax请求
  6. 数据集转josion
  7. ASP.NET开发51种常用代码
  8. 天气之子电脑壁纸_今年最受期待的5部日本动画电影,新海诚新作《天气之子》领衔...
  9. Android开发实战使用(VR技术实现360°全景视频播放功能)
  10. 机架式服务器可以安装win7系统,Win7 32位系统怎么安装电音
  11. kali虚拟机安装教程
  12. 基于java软件工程专业教辅平台课程子系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  13. 一个自动写咪蒙体的机器人,请夸我
  14. 中国大湾区经济推动新全球化时代
  15. Mstar 648 平台遥控器/按键包POWER键配置
  16. 原来做图标这么简单!
  17. 2019高中数学联赛备考手册(预赛试题集锦)
  18. 密码学系列 - 多种签名方式
  19. 4k电视测试软件准确吗,真假4K怎么分辨?告诉你几个买4K电视必看的知识
  20. 使用工具【ZipCenOp.jar】自动修复zip伪加密文件

热门文章

  1. ST-FIFO的一个应用 debug
  2. 智能灌溉系统方案满足远程管理需求
  3. 储能系统双向DCDC变换器蓄电池充放电仿真模型有buck模式 储能系统双向
  4. long long 类型的网络字节顺序转换
  5. 【软件全称】图书管理系统
  6. 马化腾2018中国“互联网+”数字经济峰会演讲《互联网+助力数字中国建设》全文...
  7. Django7-4.模板系统常用知识点(4)
  8. 三菱电梯服务器维修,三菱电梯通讯故障维修分析总结
  9. 从照片的三维重建(3D Reconstruction)——MVS系列(1)
  10. 看一遍你也会做!用英伟达 DIGITS 进行图像分割(下)