2 u011559781 u011559781 于 2013.08.01 15:12 提问

安卓设备如何监听蓝牙的连接状态
如题,在我的APP中,成功将手机连接上了一个蓝牙串口,现在想监听它们之间的连接状态。在网上找到的方式都是用BroadcastReceiver来监听蓝牙状态改变的广播,于是我实现了这种方式,代码部分如下:
    private void registerBoradcastReceiver() {
    IntentFilter stateChangeFilter = new IntentFilter(
            BluetoothAdapter.ACTION_STATE_CHANGED);
    IntentFilter connectedFilter = new IntentFilter(
            BluetoothDevice.ACTION_ACL_CONNECTED);
    IntentFilter disConnectedFilter = new IntentFilter(
            BluetoothDevice.ACTION_ACL_DISCONNECTED);
    registerReceiver(stateChangeReceiver, stateChangeFilter);
    registerReceiver(stateChangeReceiver, connectedFilter);
    registerReceiver(stateChangeReceiver, disConnectedFilter);
}

    private BroadcastReceiver stateChangeReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (BluetoothDevice.ACTION_ACL_CONNECTED == action) {
            showchange(action);
        }
        if (BluetoothDevice.ACTION_ACL_DISCONNECTED == action) {
            showchange(action);
        }
        if (BluetoothAdapter.ACTION_STATE_CHANGED == action) {
            showchange(action);
        }
    }
};

但是调试的时候并没有监听到任何的状态变化,求指教。

6个回答

u013868694
u013868694   2014.03.02 21:10

这个太难了,无法回答你

huohou
huohou   2014.11.23 10:39

你试试把==action换成equals(action)

hua907
hua907   2014.02.26 15:08

将IntentFilter connectedFilter = new IntentFilter(
BluetoothDevice.ACTION_ACL_CONNECTED);
换成IntentFilter connectedFilter = new IntentFilter(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);再试下
同时,注意加上蓝牙的相关权限

huohou
huohou ACTION_CONNECTION_STATE_CHANGED这个能得到广播吗?我这边的根本没反应,都是在LE的回调和ACL的连接监听获得的。
大约 3 年之前 回复
u011710991
u011710991   2015.10.20 11:29

楼主,太谢谢你了,帮我解决了一个问题!

weixin_37668919
weixin_37668919   2017.06.27 19:44

楼主请问这个问题解决了吗?
我也遇到了

qq_28318901
qq_28318901   2017.07.05 10:32

这个 经典设备 到底行不行 哦 这个方法能用, 可是 需要的是蓝牙断开的广播,一段app 就会自动去检测 我们才好做下一步的操作,这个问题 没有好的解决棒法吗?

java_carson
java_carson 你解决这个问题没
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!