从应用程序关闭蓝牙

时间:2011-09-21 07:36:29

标签: android

我已经编写了一个应用程序,可以使用语音打开蓝牙。(只需调用intent并使用Action.request.enable方法)。工作正常..

现在我要关闭蓝牙。我尝试使用bluetoothadapter.disable(),但整个应用程序崩溃。请帮帮我..这是我的代码

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

2 个答案:

答案 0 :(得分:0)

尝试禁用

Intent discoverableIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 1);
startActivity(discoverableIntent);

获取更多帮助:: this

答案 1 :(得分:0)

粘贴一些logcat信息会有所帮助。

我发现Android没有提供startActivityForResult来弹出一个窗口来提醒用户关闭蓝牙。所以你必须调用BluetoothAdapter.disable()方法来关闭蓝牙。

1.当您使用startActivityForResult意图提醒用户打开蓝牙时,它正在工作。这意味着您已经拥有权限声明

<uses-permission android:name="android.permission.BLUETOOTH" />

2.当您使用BluetoothAdapter.disable()方法关闭蓝牙时,应用程序崩溃。我想您可能会错过许可声明

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 

用于BluetoothAdapter.disable()。

注:

BluetoothAdapter.getDefaultAdapter() needs:
<uses-permission android:name="android.permission.BLUETOOTH" />

BluetoothAdapter.disable() needs:
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />