Lavichord 2016-12-30 04:59 采纳率: 0%
浏览 1874
已结题

Android蓝牙怎么获取“可用用户”的RSSI?

两部手机开启蓝牙,只“搜索”而不“匹配”,可以获得RSSI吗?
我试过官方demo,但是根本搜索不到任何手机(两部手机是没问题的,可以匹配的到),也搜不到粗粮手环。
我想获取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); 

                            } 

                    }  
            } 
    }; 
  • 写回答

1条回答 默认 最新

  • devmiao 2016-12-30 17:04
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算