Android 8.0 BLE 低功耗蓝牙开发记录

Android 8.0 BLE 低功耗蓝牙开发记录(1-3)--------------(权限申请篇未完待续)

目的:开源博客,希望大家一起修改博客错误地方,共同完善并会鸣谢提供意见的朋友。为大家提供一个开发支持的字典,谢谢各位朋友帮助。如有错误或意见指正请加QQ:231734881

开发准备步骤一:
Android8.0在用户权限上启用了紧缩政策,使得用户可以更透明的了解(在装:已安装)的程序是否有危及隐私的权限申请。避免了用户在不知情的情况下因权限宽松政策而泄露隐私。
首先我们在新建项目后,要在AndroidManifest.xml文件中设置权限申请条目,在系统加载的时候获取申请条目并通知用户授权。

**一. AndroidManifest.xml权限预申请条目申请步骤与解析:
申请权限的条目的格式分解:
android:name=“申请的权限常量名称”(一般在android.permission.下存在权限常量名称)>
(申请条目完结标签)
首先注意在标签内加入申请权限的条目
=============================================================================
1.蓝牙使用权限申请:

英语解释:
[use 中文:使用 音标[ju:s] n.(名词)使用; 使用权; 功能;v.(动词)使用; 运用; 消耗; 服用;] uses:为use复数形式
[permission 中文:允许 音标[pərˈmɪʃn] n.(名词) 允许; 批准,正式认可,认可;]

图例:
在这里插入图片描述
可复制粘贴用例:

权限解释:
      这是蓝牙开发中权限申请的基础权限.如果不能获得其权限,后续权限无申请意义。
=============================================================================
2.蓝牙管理权限申请:

英语解释:

在这里插入图片描述
可复制粘贴用例:

权限解释
      此权限功能为申请管理与操作的权限,在用户授权后程序通过该权限赋予的权利来调用蓝牙扫描等功能
=============================================================================
3.精准位置信息权限申请:

英语解释:

图例:
在这里插入图片描述

可复制粘贴用例:

权限解释:
      此权限通过字面解释就可以知道,通过本地(LOCATION)访问(ACCESS)精细(FINE)位置信息,在不通过网络的情况下根据卫星返回的位置信息进行定位,此值相对高精确位置(根据卫星数多少来判定,天气等相关因素)
特点:
      精度相对于基站或WIFI获取的精度高,不消耗流量
缺点:
      耗电量大机身可能会造成过热现象
=============================================================================
4.模糊位置信息权限申请:

英语解释:
[coarse 中文:使用 音标[kɔ:rs] adj.(形容词) 粗糙的; 粗鄙的; 粗野的; 粗制滥造的;]

图例:
在这里插入图片描述
可复制粘贴用例:

权限解释:
      此权限通过字面解释就可以知道,通过本地(LOCATION)访问(ACCESS)粗略(COARSE)位置信息,通过手机定位附近的服务基站或WIFI连接后根据IP返回的地理位置
特点:
      在高精度定位不可用时,则作为替补定位服务。耗电量相对少
缺点:
      定位错误偏差较大,造成定位漂移过大只能作为参考不能用于打点定位
=============================================================================
5.蓝牙安全(高危)使用权限

英语解释:
[privileged 中文:使用 音标[ˈprɪvəlɪdʒd, ˈprɪvlɪdʒd] adj.(形容词) 享有特权的; 特许的,专用的; 秘密的,保密的; 幸运的;]

图例:

可复制粘贴用例:

权限解释:
      对安全与隐私要求严格的年代中,此权限应运而生。为什么会产生,因为蓝牙会有一些涉及数据发送接收以及调用系统功能的操作,如果我们不申请此权限在高于5.0的机器会抛出运行时异常SecurityException 安全异常,这个权限务必加上。
=============================================================================

申请使用功能的条目的格式分解:
android:name=“申请的权限常量名称”(一般在android.permission.下存在权限常量名称)
android:required=“逻辑真/假” 通知系统该功能是否启用
>
(申请条目完结标签)
注意在标签内加入申请权限的条目
=============================================================================
6.蓝牙特殊操作功能申请:

英语解释:
[use 中文:使用 音标[ju:s] n.(名词)使用; 使用权; 功能;v.(动词)使用; 运用; 消耗; 服用;] uses:为use复数形式
[permission 中文:允许 音标[pərˈmɪʃn] n.(名词) 允许; 批准,正式认可,认可;]

图例:
在这里插入图片描述
可复制粘贴用例:

权限解释:
      使当前程序获取硬件操作(图例的功能为硬件 buletooth_le)required=false 为如果手机不支持bluetooth_le则
不可运行 true为相反
=============================================================================
----------------------------------------------------------------------------------------------------------------------------------------
二,代码检测权限并向用户动态申请
----------------------------------------------------------------------------------------------------------------------------------------
上面在配置文件中申请的权限,是在用户安装的时候向用户提交。如果用户在安装时拒绝那程序以后不通过应用管理打开权限就不能使用了。这样我们可以采用动态权限申请的方式,在程序开启的过程中检测权限并根据手机当前状态来开启相关权限。

(未完待续。。。。)

你可能感兴趣的:(Android)