<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- ACCESS_FINE_LOCATION:允许一个程序访问精确位置(如GPS) -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- ACCESS_COARSE_LOCATION:允许一个程序访问CellID或WiFi热点来获取大致的位置 -->

/**
 * 解决:无法发现蓝牙设备的问题
 *
 * 对于发现新设备这个功能, 还需另外两个权限(Android M 以上版本需要显式获取授权,附授权代码):
 */
private final int ACCESS_LOCATION=1;
@SuppressLint("WrongConstant")
private void getPermission() {
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
        int permissionCheck = 0;
        permissionCheck = this.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION);
        permissionCheck += this.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION);
 
        if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
            //未获得权限
            this.requestPermissions( // 请求授权
                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
                            Manifest.permission.ACCESS_COARSE_LOCATION},
                    ACCESS_LOCATION);// 自定义常量,任意整型
        }
    }
}
 
/**
 * 请求权限的结果回调。每次调用 requestpermissions(string[],int)时都会调用此方法。
 * @param requestCode 传入的请求代码
 * @param permissions 传入permissions的要求
 * @param grantResults 相应权限的授予结果:PERMISSION_GRANTED 或 PERMISSION_DENIED
 */
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    switch (requestCode) {
        case ACCESS_LOCATION:
            if (hasAllPermissionGranted(grantResults)) {
                Log.i(TAG, "onRequestPermissionsResult: 用户允许权限");
            } else {
                Log.i(TAG, "onRequestPermissionsResult: 拒绝搜索设备权限");
            }
            break;
    }
}
 
private boolean hasAllPermissionGranted(int[] grantResults) {
    for (int grantResult : grantResults) {
        if (grantResult == PackageManager.PERMISSION_DENIED) {
            return false;
        }
    }
    return true;
}

鸿蒙2.0及以上,Android M-蓝牙开发:解决搜索不到蓝牙设备相关推荐

  1. 【Android】蓝牙开发——经典蓝牙:配对与解除配对 实现配对或连接时不弹出配对框

    目录 一.配对方法 二.解除配对方法 三.配对/解除配对结果 四.justwork配对模式下,不弹出配对框 五.pincode配对模式下,不弹出配对框 六.小结 在之前的文章[Android]蓝牙开发 ...

  2. Android Bluetooth蓝牙开发:发现Bluetooth蓝牙设备(1)

     Android Bluetooth蓝牙开发:发现Bluetooth蓝牙设备(1) Android Bluetooth蓝牙作为设备,要与其他蓝牙设备互联,那么先决条件就是已经被发现,本文先简介An ...

  3. Android BLE蓝牙开发知识总结

    Android BLE蓝牙开发知识总结 1.蓝牙介绍 1.1什么是蓝牙?    蓝牙( Bluetooth® ):是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据交换(使用2 ...

  4. Android 低功耗蓝牙开发

    初识低功耗蓝牙 Android 4.3(API Level 18)开始引入Bluetooth Low Energy(BLE,低功耗蓝牙)的核心功能并提供了相应的 API, 应用程序通过这些 API 扫 ...

  5. Android Ble蓝牙开发总结

    Android Ble蓝牙开发总结 前言 本文总结了ble的搜索,连接,读写操作.以及在开发过程中可能遇到的坑. 首先我们需要知道,什么是ble. 蓝牙发展至今经历了8个版本的更新.1.1.1.2.2 ...

  6. 【Android】蓝牙开发——BLE(低功耗蓝牙)(附完整Demo)

    目录 目录 前言 一.相关概念介绍 二.实战开发 三.项目演示 四.Demo案例源码地址 五.更新记录 1.2020/12/29 :修改 setupService()中错误 2.2021/05/14 ...

  7. Android经典蓝牙开发全流程

    一.基本介绍   所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,最初是由爱立信公司公司发明的.技术始于爱立信公司 1994 方案,它是研究在移动电话和其他配件间进行低功耗.低成本无 ...

  8. Android 经典蓝牙开发

    本文主要讲解经典蓝牙的开发,主要包含以下几个知识点: 蓝牙 API 简介 经典蓝牙开发的一般步骤 相信通过以上步骤,您会很快上手一个 Android 经典蓝牙开发的 App. 蓝牙 API 简介 An ...

  9. Android 低功耗蓝牙开发(数据交互)

    Android 低功耗蓝牙开发(数据交互) 前言 正文 一.BluetoothGattCallback 1. onPhyUpdate 2. onPhyRead 3. onServicesDiscove ...

  10. 蓝牙配对模式 java_【Android】蓝牙开发—— 经典蓝牙配对介绍(Java代码实现演示)附Demo源码...

    目录 前言 一.连接&配对方法介绍 二.演示:第一次连接蓝牙设备  &  直接与蓝牙设备建立配对 三.总结 四.补充 五.Demo案例源码地址: 前言 前面两篇文章[Android]蓝 ...

最新文章

  1. TCP/IP:IP选项处理
  2. 类名.class的含义。
  3. 小程序 返回多条图文,类似新闻或者博客的展示,其中遇到的bug
  4. 基于React和SpringBoot的快速开发模板QuickAdmin
  5. Maven+eclipse快速入门
  6. 正则提取Swagger在线文档里面的返回实体类字段
  7. (65)-- 爬取兄弟连老师信息
  8. 线性定常系统参数辨识-(数学建模与系统辨识——NJUST)
  9. 进化计算——进化规划(EP)
  10. 电信光猫 TEWA-708E 登录超级管理员和开启DMZ
  11. QA和软件测试员的区别
  12. C#WinForm中的太空侵略者
  13. 我喜欢出发 - 汪国真
  14. 关联规则R语言实战(Apriori算法)
  15. @JsonFormat @DataTimeFormat 时间格式
  16. 华硕主板如何设置开机自启_华硕主板开机启动项调整的三种方法
  17. 抖音素材哪里收集_自媒体素材去哪里找,抖音素材去哪里找,短视频素材都在这里!(建议收藏)...
  18. 创建网页实现上传文件(简明教程)
  19. 通过IPMI管理口给浪潮NF5270M4的2U服务器安装centos6.4系统
  20. 鸿鹄安装-在Linux中安装

热门文章

  1. 颜色的前世今生7·明度
  2. 为什么我弃用GNOME转向KDE(1)
  3. 基于springboot的JFlow工作流引擎
  4. 获取小程序各个组件的默认样式
  5. keil怎么跳转_KEIL那些事儿之基础调试(一)
  6. 2019年9月-最新2000个国内高匿代理ip
  7. linux sftp ipv6,linux 搭建ipv6服务器搭建
  8. 计算方法 - 二分法求近似根
  9. hive中使用正则表达式匹配数字
  10. excel html java_将excel嵌入html