参考博客:http://blog.csdn.net/sun6223508/article/details/50505936
p
private final int REQUEST_FINE_LOCATION = 1; private void mayRequestLocation() { //检查系统版本,6.0开始需要动态申请权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //检查是否已授权 int cllPhonePermission = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION); if (callPhonePermission != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) { //提示用户需要获取位置权限 } //开始权限申请 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_FINE_LOCATION); return; } } } /** * 权限申请结果处理 * @param requestCode * @param permissions * @param grantResults */ @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case REQUEST_FINE_LOCATION: if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //用户已授权,开始扫描蓝牙 }else{ //用户未授权,提示用户 } break; } } }