该错误的原因是应用未授权使用 Bluetooth 连接。为了解决此问题,必须申请相应的权限。在 AndroidManifest.xml 文件中添加以下代码:
或者,在运行时请求权限:
private void requestBluetoothPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.BLUETOOTH_CONNECT},
REQUEST_BLUETOOTH_PERMISSION);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
switch (requestCode) {
case REQUEST_BLUETOOTH_PERMISSION: {
// 如果请求被取消,则 grantResults 数组是空的。
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 申请许可
} else {
// 许可被拒绝
}
}
}
}