用BroadcastReceiver监听蓝牙

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Leo_eight/article/details/49970853

定义广播:

<span style="font-size:18px;color:#ff0000;"> private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();

            // 发现蓝牙设备触发
            if (BluetoothDevice.ACTION_FOUND.equals(action)) {           
            } 
            // 搜索完成触发
            else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
            }
            // 蓝牙状态改变触发
            else if(BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)){  
            }
            // 蓝牙连接成功触发
            else if(BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)){     	
            }
            // 蓝牙连接断开触发
            else if(BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)){         
            }
      }
 };</span>	


注册广播:

<span style="font-size:18px;color:#ff0000;">// 监听蓝牙开关状态
IntentFilter stateFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
this.registerReceiver(mReceiver, stateFilter);
		
// 监听蓝牙连接成功
IntentFilter connectFilter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED);
this.registerReceiver(mReceiver, connectFilter);
		
// 监听蓝牙连接断开
IntentFilter disconnectFilter = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED);
this.registerReceiver(mReceiver, disconnectFilter);
		
// 发现蓝牙
IntentFilter discoveryFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND);    
this.registerReceiver(mReceiver, discoveryFilter);                               

 // 搜索完成
 IntentFilter foundFilter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);   
 this.registerReceiver(mReceiver, foundFilter); </span>






猜你喜欢

转载自blog.csdn.net/Leo_eight/article/details/49970853