如何在BLE Android中获取TxPower?

问题描述

我正在尝试使用BLE查找两个Android设备之间的距离,在Scancallback中查找距离,我需要两个值,即RSSITxPower。我得到RSSI,但无法得到TxPower 我正在使用double distance = Math.pow(10d,(txpower - (rssi)) / (10 * 4));这个公式

private ScanCallback mScanCallback = new ScanCallback() {
  @Override
  public void onScanResult(int callbackType,ScanResult result) {
    System.out.println("BLE// onScanResult");
    Log.i("callbackType",String.valueOf(callbackType));
    Log.i("result",result.toString());
    BluetoothDevice btDevice = result.getDevice();
    Integer rssi = result.getRssi();
    Integer txpower = result.getTxPower();
    // I am getting  txpower = 127 which means txpower not avaliable in packet
    double distance = Math.pow(10d,(txpower - (rssi)) / (10 * 4));
  }

  @Override
  public void onBatchScanResults(List <ScanResult> results) {
    System.out.println("BLE// onBatchScanResults");
    for (ScanResult sr: results) {
      Log.i("ScanResult - Results",sr.toString());
    }
  }

  @Override
  public void onScanFailed(int errorCode) {
    System.out.println("BLE// onScanFailed");
    Log.e("Scan Failed","Error Code: " + errorCode);
  }
};
    
    
        
        
        

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...