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

原创 2016年08月31日 10:04:01

原因

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

image]![蓝牙设备搜索不到

官网地址:https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html

修改方法

在AndroidManifest 中添加权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
或者
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

注意

如果targetSdkVersion 大于22 需要在代码中进行权限获取,获取方法如下:

// onResume 中进行调用
private void checkPermission() {
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_DENIED) {
        if (!ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) {
            //TODO 提示权限已经被禁用 且不在提示
            return;
        }
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_PERMISSION_BT);
    }
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
        case REQUEST_PERMISSION_BT:
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                //TODO 请求权限成功
            } else {
                //TODO 提示权限已经被禁用
            }
            break;
        default:
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android 蓝牙开发之搜索、配对、连接、通信大全

蓝牙( Bluetooth®):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据 交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。蓝牙设备最多可以同时和7...
  • dddxxxx
  • dddxxxx
  • 2016年11月10日 09:08
  • 3920

关于安卓6.0无法查找蓝牙设备的问题

最近碰到一个蓝牙的问题,在我自己手机上无法查找蓝牙,但是可以获得已配对的设备,换了一台手机发现可以查找蓝牙了。经检查发现是android 版本的问题,需要加上对应的权限。     对于android ...

Android Bluetooth 搜索不到附近设备的问题

前一阵子研究 Android 蓝牙的时候,在搜索设备时候怎么也搜索不到附近的蓝牙设备,也不报错,经过查阅了一下资料之后发现,在启动蓝牙搜索附近设备时会需要到 LOCATION 权限,Android M...

Android M(6.0)扫描不到蓝牙设备的处理办法

在Android6.0手机上扫描不到蓝牙设备(如Nexus6),并会抛出一个异常: java.lang.SecurityException: Need ACCESS_COARSE_LOCATION...

Android6.0以上系统搜索不到 蓝牙BLE 设备问题

最近开发一款软件,一开始一切顺利,但是在连接外围BLE 设备时,发现需要Location的权限,     uses-permission android:name="android.permissio...

Android之蓝牙startDiscovery()搜索不到设备

以前做的蓝牙程序,用我现在的三星 S7E调试,居然完全搜索不到设备。。 原来S7E的系统> Android6.0 ,权限机制跟以前不同 参考:http://blog.csdn.net/lqhed/...
  • lqhed
  • lqhed
  • 2016年08月21日 11:53
  • 2316

Android6.0-蓝牙权限问题

在Android 6.0,原来的蓝牙功能,发现扫描蓝牙设备时,无法获取到蓝牙设备;因为在6.0后,蓝牙这块增加一个动态权限;需要在程序中动态申请。 1)        在6.0版本前,使用蓝牙功能,...

Android6.0的蓝牙权限问题

#Android6.0的蓝牙权限问题 在Adroid6.0以前,申请权限只需在manifest文件下申请相应的权限即可,但是Android6.0后,像一些危险权限,比如操作SD卡的写...

关于安卓6.0无法查找蓝牙设备的问题

最近碰到一个蓝牙的问题,在我自己手机上无法查找蓝牙,但是可以获得已配对的设备,换了一台手机发现可以查找蓝牙了。经检查发现是android 版本的问题,需要加上对应的权限。     对于android ...

Android6.0以上系统搜索不到 蓝牙BLE 设备问题

最近开发一款软件,一开始一切顺利,但是在连接外围BLE 设备时,发现需要Location的权限,     uses-permission android:name="android.permissio...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android6.0 蓝牙搜索不到设备原因
举报原因:
原因补充:

(最多只允许输入30个字)