蓝牙扫描必要条件及高德定位授权

蓝牙扫描在Android 6.0及以上版本需要开启定位权限,即使少数设备需打开定位开关,但无法预判,故通过错误提示告知用户。高德定位也需要相应授权。
摘要由CSDN通过智能技术生成

 

真的很坑,蓝牙需要定位

说明:以下信息是方案制定的依据。

蓝牙扫描需要条件:

a. 打开系统蓝牙开关。(必须)

b. 允许定位权限。(Android6.0及以上)

c. 打开定位开关。(少数手机)

 

定位开关只在极少数手机上需要,并且软件也无法判断哪些手机扫描蓝牙必须要打开定位开关。

所以不能预先去判断没打开定位开关就不去扫描。

目前是将其作为扫描失败的一种可能性通过弹框报错的方式提示用户。

 

系统api提供2种方式打开蓝牙开关:

a 静默打开。蓝牙权限被禁止后此方式失效。

 mBluetoothAdapter.enable();

b 发送Intent打开。(目前农行即采用此方式)

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

enableBtIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

mContext.startActivity(enableBtIntent);

 

 

高德定位检测,授权

 //动态申请权限start
    private void myRequetPermission() {
        //1、首先声明一个数组permissions,将需要的权限都放在里面
        String[] permissions = new String[]{
                Manifest.permission.WRITE_EXTERNAL_STORAGE,
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值