Android以编程方式关闭蓝牙无法正常工作

时间:2018-08-23 23:22:23

标签: android bluetooth

我正在研究Silicon Labs MCU + BLE113与android应用之间的蓝牙通信。我想从Android端以编程方式禁用蓝牙。我发现有一些在线示例对您有所帮助。我的代码如下:

private void showWifiSet() {
runOnUiThread(new Runnable() {
    @Override
    public void run() {
        new MaterialDialog.Builder(SendWifiBLEActivity.this)
                .content(R.string.wifi_set)
                .positiveText(android.R.string.ok)
                .onPositive(new MaterialDialog.SingleButtonCallback() {
                    @Override
                    public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                        if (bluetoothAdapter.isEnabled()) {
                            bluetoothAdapter.disable();
                        }
                        finish();
                    }
                })
                .show();
    }
});

}

现在我的问题是,当运行此代码时,显示为在Android手机上禁用了蓝牙,并且捕获了BluetoothAdapter.STATE_OFF。但是我无法在MCU上获得ble_evt_connection_disconnected事件,即Android中的onConnectionStateChange。而且我的MCU仍显示通过android手机通过蓝牙连接。我发现断开MCU与android应用程序的连接的方式是1,关闭应用程序,2,在android studio上停止调试模式或3,在android手机系统设置中手动禁用蓝牙。

有人可以帮我吗?谢谢。

0 个答案:

没有答案