Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的连续蓝牙LE信号强度_Android_Bluetooth_Bluetooth Lowenergy - Fatal编程技术网

Android上的连续蓝牙LE信号强度

Android上的连续蓝牙LE信号强度,android,bluetooth,bluetooth-lowenergy,Android,Bluetooth,Bluetooth Lowenergy,有人能建议如何在Android API级别18+上持续读取BT4-LE信号强度,以检测与BT-LE信标的相对接近程度吗?我知道扫描过程中会返回LE无线电信号强度(请参阅:),但一旦扫描完成并建立连接,是否仍可以在不重新扫描的情况下获得更新的BT-LE信号强度? 异步调用以开始读取信号强度 读取完成后回调 在读取之前需要连接。在调用readRemoteRssi()读取信号强度之前需要连接。 示例代码: private final BluetoothGattCallback mGattCallba

有人能建议如何在Android API级别18+上持续读取BT4-LE信号强度,以检测与BT-LE信标的相对接近程度吗?我知道扫描过程中会返回LE无线电信号强度(请参阅:),但一旦扫描完成并建立连接,是否仍可以在不重新扫描的情况下获得更新的BT-LE信号强度?

异步调用以开始读取信号强度

读取完成后回调


在读取之前需要连接。

在调用readRemoteRssi()读取信号强度之前需要连接。 示例代码:

private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status,
        int newState) {
    // TODO Auto-generated method stub
    String intentAction;
    if(newState == BluetoothProfile.STATE_CONNECTED) {
        intentAction = ACTION_GATT_CONNECTED;
        mConnectionState = STATE_CONNECTED;
        mBluetoothGatt.readRemoteRssi();
      

if(newState == BluetoothProfile.STATE_CONNECTED) 
{
   TimerTask task = new TimerTask()
   {
      @Override
      public void run()
      {
         mBluetoothGatt.readRemoteRssi();
      }
   };
   Timer rssiTimer = new Timer();
   rssiTimer.schedule(task, 1000, 1000);
}