android ble 蓝牙动态申请权限代码
时间: 2023-05-03 14:03:38 浏览: 185
Android BLE是指Android系统支持的低功耗蓝牙(BLE)技术。在使用BLE技术前,需要动态申请相关权限,以保障用户的隐私和系统的安全。以下是一段常用的申请权限代码:
```
private static final int REQUEST_ENABLE_BT = 1;
private static final int PERMISSION_REQUEST_COARSE_LOCATION = 2;
private BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
//检查是否开启蓝牙,如果没开启则请求开启蓝牙
if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
//检查是否具有位置信息权限,如果没有则请求位置权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_COARSE_LOCATION);
}
//位置权限请求结果处理
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case PERMISSION_REQUEST_COARSE_LOCATION: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//授权成功
} else {
//授权失败
}
return;
}
}
}
```
以上代码中,首先检查是否开启蓝牙,如果没开启则请求开启蓝牙;其次,检查是否具有位置信息权限,如果没有则请求位置权限;最后,处理位置权限请求结果。这段代码可以保证在使用BLE技术前,权限已被正确申请。
阅读全文