我使用这个代码来启动蓝牙:
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
if(btAdapter == null)
returns; /no bluetooth
if(btAdapter.isEnabled() == false)
{ Toast("Bluetooth off. Starting it...");
if(btAdapter.enable() == false)
Toast("Error enabling bluetooth.");
}它应该非常简单。只需获取和适配器,如果未启用,则启动它。
问题是,当蓝牙实际打开时,isEnabled()返回false (它应该返回true),而调用enable()返回false,因此它显示“启用蓝牙时出错”。我猜是因为它已经开始了。在那之后,我的蓝牙符号(在状态栏中)就消失了。有什么提示吗?
我当然有权限。
发布于 2012-06-16 00:24:24
没有用户的确认,您不能启用蓝牙。你需要这样做,
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter != null) {
// Device supports Bluetooth
if (!mBluetoothAdapter.isEnabled()) {
// Bluetooth isn't enabled, so enable it.
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
}将出现一个对话框,请求用户允许启用蓝牙,如下所示。

如果用户回答“是”,系统将开始启用蓝牙,并且一旦该过程完成(或失败),焦点将返回到您的应用程序。
发布于 2012-06-15 23:49:05
确保您在清单文件中拥有正确的权限
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />发布于 2018-01-17 19:02:11
要检查蓝牙状态,请以编程方式打开:
android.permission.BLUETOOTH
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
private void turnOn() {
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivity(enableBtIntent);
}
}https://stackoverflow.com/questions/11053972
复制相似问题