Android 蓝牙未被禁用

Android 蓝牙未被禁用,android,bluetooth,Android,Bluetooth,我正试图从我的代码中禁用蓝牙,但它仍然处于启用状态,并且不会引发任何错误。 这是我的密码 if (m_BluetoothAdapter.isEnabled()){ m_BluetoothAdapter.disable(); } if (m_BluetoothAdapter.isEnabled() == false){ Toast.makeText(getApplicationContext(), "BLUETOOTH is being disabled", Toast.LENGT

我正试图从我的代码中禁用蓝牙,但它仍然处于启用状态,并且不会引发任何错误。 这是我的密码

if (m_BluetoothAdapter.isEnabled()){
    m_BluetoothAdapter.disable();
}
if (m_BluetoothAdapter.isEnabled() == false){
    Toast.makeText(getApplicationContext(), "BLUETOOTH is being disabled", Toast.LENGTH_SHORT).show();
}
这是我的应用程序中唯一用于测试的代码。 我还允许蓝牙和蓝牙管理。 Eclipse和mobile都没有给出任何错误,但BT仍然处于启用状态。 请指出我做错了什么。
问候

更新:
嗯,我发现如果我第一次运行此应用程序,BT将保持启用状态。
但如果我再次运行应用程序(第二次),BT将被禁用。
我不知道为什么BT只在第二次运行时被禁用,而不是第一次。
有什么想法吗

您应该知道,
disable()
方法进行异步调用,因此您的代码似乎无法工作

换句话说,蓝牙将被禁用需要一些时间。在这种情况下,您应该将BroadcastReceiver与BluetoothAdapter.ACTION\u STATE\u CHANGED意图过滤器一起使用,并侦听状态更改,然后执行正确的操作

可用状态
状态为打开
状态为关闭
状态为关闭

再看看docs是怎么说的:

true表示适配器关闭已开始,或立即关闭时为false 错误

使用图书馆,它易于使用,更友好 也可以尝试下面的代码

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();    
if (mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.disable(); 
} 

如何初始化适配器?BluetoothAdapter m_BluetoothAdapter=null;//本地蓝牙适配器m_BluetoothAdapter=BluetoothAdapter.getDefaultAdapter();花点时间是可以的,但我等了很久才知道BT是否被禁用。但BT即使在5分钟后仍保持启用状态。@madiyamadiya您正在emulator或真实设备上测试它?emulator不支持蓝牙和wifi。我正在真实的设备上测试。WiFi工作正常,但蓝牙未被禁用。Pl请注意,启用相同的功能没有问题。@madiyamadiya很有趣,如果您手动启用/禁用它,我假设它可以工作?@madiyamadiya所以问题在您的代码中。硬件工作正常。我使用完全相同的代码,但失败了。我不确定你建议的图书馆。因为我是新来的,所以我会坚持标准的。但无论如何,谢谢。