问题:
Android 6.0以上动态申请权限的问题(以蓝牙为例)
解决思路:
Google出于保护用户数据安全的目的,在Android6.0之后,所有需要访问硬件唯一标识符的方面都要申请位置权限(动态申请):
蓝牙的权限是Normal级
位置权限是Dangerous级权限
虽然这两者权限都需要在Manifest配置文件中申请,但是位置权限还需要在代码中动态申请,并跟踪用户对权限的确认结果。
注意:
若无授权,移动端不能使用完整的功能,尽管不影响打开蓝牙功能,但蓝牙的设备搜索功能是没有办法使用的。
解决方案:
动态申请权限:
PermissionsActivity.java
public abstract class PermissionsActivity extends AppCompatActivity {
private static final int PERMISSION_REQUEST_CODE = 0x114; // 系统权限管理页面的参数
private static final String PACKAGE_URL_SCHEME = "package:"; // 方案
private PermissionsChecker mPermissionsChecker; // 权限检测器
private boolean isRequireCheck;
@