我已经编写了一个应用程序,可以使用语音打开蓝牙。(只需调用intent并使用Action.request.enable方法)。工作正常..
现在我要关闭蓝牙。我尝试使用bluetoothadapter.disable(),但整个应用程序崩溃。请帮帮我..这是我的代码
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter.isEnabled())
{
mBluetoothAdapter.disable();
}
答案 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" />