mBluetoothGatt.readRemoteRssi();を入れました。mGattCallback に入力します。
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();
.
.
.
また、onReadRemoteRssiをBluetoothGattCallback 関数に入れます
.
.
.
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic);
}
public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
final Intent rssiIntent = new Intent(BluetoothLeService.this, DeviceControl.class);
rssiIntent.putExtra(DeviceControl.RSSI, rssi);
}
};//BluetoothGattCallback End
readRemoteRssi() と onReadRemoteRssi() を呼び出しますが、なぜ rssi が 0 なのかわかりません...
ログは次のようになります。
D/BluetoothGatt( 3684): readRssi() - device: 90:59:AF:0B:8A:AB
D/BtGatt.GattService( 2463): readRemoteRssi() - address=90:59:AF:0B:8A:AB
.
.
.
D/BtGatt.GattService( 2463): onReadRemoteRssi() - clientIf=4 address=90:59:AF:0B:8A:AB, rssi=0, status=0
D/BluetoothGatt( 3684): onReadRemoteRssi() - Device=90:59:AF:0B:8A:AB rssi=0 status=0
私のBLEデバイスは正常であると確信しています。しかし、なぜ rssi 値が o なのかわかりません??
誰か教えてくれませんか??
ありがとう!!