android获取bluetooth的信号强度(RSSI)

要拿到蓝牙信号指示值 rssi 分为两个步骤。 
1.在oncreate方法里面增加 注册扫描广播 
public void onCreate(Bundle savedInstanceState) { 
                  
                    // 注册开始发现广播。 
                             IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED); 
                             this.registerReceiver(mReceiver, filter); 
                               
            } 
2.新建BroadcastReceiver广播对象,并实现里面的onreceive方法,在onreceive得到rssi(信号强度)。 
private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
                @Override 
                public void onReceive(Context context, Intent intent) { 
                        String action = intent.getAction(); 
  
                        //当设备开始扫描时。 
                        if (BluetoothDevice.ACTION_FOUND.equals(action)) { 
                                //从Intent得到blueDevice对象 
                                BluetoothDevice device = intent 
                                                .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
                                  
                                if (device.getBondState() != BluetoothDevice.BOND_BONDED) { 
  
                                        //信号强度。 
                                        short rssi = intent.getExtras().getShort( 
                                                        BluetoothDevice.EXTRA_RSSI); 
                                                  
                                } 
                                  
                        }  
                } 
        }; 

你可能感兴趣的:(Android,消息机制,Android,开发,蓝牙,rssi,信号强度计算)