我是android studio的新手,我有一个我无法解决的问题。我正在尝试启用蓝牙,所以我已经这样做了:
AndroidManifest.xml:
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
MainActivity.java:
private void enableBLT(){
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter == null) {
dialogNoBlt();
}
if (!adapter.isEnabled()) {
if (ContextCompat.checkSelfPermission(
MainActivity.this, Manifest.permission.BLUETOOTH_CONNECT) ==
PackageManager.PERMISSION_GRANTED) {
Intent enableBltIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBltIntent, REQUEST_ENABLE_BT);
} else {
Log.d("blt-", "no permission");
}
} else {
Log.d("blt-", "Not enabled");
}
}
但是我仍然有一个错误"要求android.permission.BLUETOOTH_CONNECT",我的应用程序只是崩溃。你能帮我一下吗?
您还必须在运行时请求Manifest.permission.BLUETOOTH_CONNECT
和Manifest.permission.BLUETOOTH_SCAN
权限。仅仅在清单中声明是不够的,因为它们处于危险的权限类别。
请求权限的文档
参考下面的答案链接获取直接的代码示例
在运行时请求多个权限