2016-10-20 10 views
0

Google Nearbyとのメッセージを公開して購読していて、onFoundとonLostを正しく受信していますが、onDistanceChangedまたはonBleSignalChangedのコールバックを受信して​​いません。私は、変更されたBLEシグナルが発見のためにBLEを使用することに基づいていることを知っていますが、onDistanceChangedにも同様の制限がありますか?ドキュメントには存在しないようです。ここに私のメッセージリスナーがあります。ありがとうございました!MessageListener.onDistanceChangedが呼び出されていません

mMessageListener = new MessageListener() { 
     @Override 
     public void onFound(Message message) { 
      String messageAsString = new String(message.getContent()); 
      Log.d(TAG, "Found message: " + messageAsString); 
     } 

     @Override 
     public void onLost(Message message) { 
      String messageAsString = new String(message.getContent()); 
      Log.d(TAG, "Lost sight of message: " + messageAsString); 
     } 

     @Override 
     public void onDistanceChanged(Message message, Distance distance) { 
      super.onDistanceChanged(message, distance); 
      Log.d(TAG, "New distance "+distance.getMeters()+" to message: " + new String(message.getContent())); 
     } 

     @Override 
     public void onBleSignalChanged(Message message, BleSignal bleSignal) { 
      super.onBleSignalChanged(message, bleSignal); 
      Log.d(TAG, "New ble signal " + bleSignal.getRssi() + " to message: " + new String(message.getContent())); 
     } 

    }; 

答えて

0

は、あなたがそのコールバックを取得できない場合があります2つの理由があります。

  1. 残念ながら、距離のコールバックは現在、BLEビーコンメッセージのために動作します。ドキュメントを修正しましたが、次のGoogle PlayサービスSDKのリリースまで(2週間以内に)ウェブ上では更新されません。今後もより多くのメッセージに対応できるようにしたいと考えています。
  2. BLEシグナルおよび距離コールバックは、subscribe()のPendingIntentバージョンでは呼び出されません。
+0

近くのデバイスを検出するためにどのような方法が使用されているかを正確に判断する方法はわかりませんが、BLEビーコンは使用していません。 ちょっとメモがありますが、私は大まかに近接したデバイスとしか通信しない方法が大好きです。 Google Nearbyは近くの端末とペア設定しているようですが、端末間の距離が離れても近くにいなくてもペア設定は維持されます。 –

関連する問題