2017-03-29 11 views
0

RSSIに関する問題があります。私はインターネットからのリソースを見直しました。しかし、コードのすべてが動作していないか、私はこれの方法を知らない。ちょうど私がBluetooth経由で接続するデバイスの信号強度を受信したいのです。また、私は許可を使用する必要がありますか?これについての詳細をすべて説明できますか?私のコードは以下の通りです。Android Java Bluetooth RSSI信号強度

private final BroadcastReceiver receiver = new BroadcastReceiver(){ 
    @Override 
    public void onReceive(Context context, Intent intent) { 

     String action = intent.getAction(); 
     if(BluetoothDevice.ACTION_FOUND.equals(action)) { 
      int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE); 
      Toast.makeText(BtControl.this," RSSI: " + rssi + "dBm", Toast.LENGTH_SHORT).show(); 
     } 
    } 
}; 

registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED)); 

答えて

0

あなたはACTION_FOUNDアクションに登録する必要があります。 registerrecieverコードを以下に変更してください。

registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND)); 

また、マニフェストファイルにBLUETOOTH_ADMIN権限があることを宣言してください。

+0

レシーバをアクティビティに定義しました。 onCreate関数でregisterReceiverを呼び出した後。しかし、働いていない。どこで間違っているの?私は何をすべきか? –

+0

インテントフィルタが間違っています。私はそれを修正し、答えとして追加しました – 7383

+0

こんにちは、私はもう一度試しました。今回はうまくいった。私はそれが以前に働いたことは理解できません。 –

関連する問題