2012-04-12 50 views
0

我正在開發一個使用Eclipse的Android應用程序來返回藍牙設備的RSSI值。我已經修改了Android藍牙聊天示例以適應我的需要,但是我在返回RSSI值時遇到了問題。點擊掃描按鈕以發現附近的設備,它返回設備名稱,設備地址,並且還假設返回RSSI值,但是它表示RSSI的null返回藍牙設備的RSSI值時的問題

private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 
     // When discovery finds a device 
     if (BluetoothDevice.ACTION_FOUND.equals(action)) { 
      // Get the BluetoothDevice object from the Intent 
      BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
      // Get the Bluetooth RSSI 
      short Rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE); 
      // If it's already paired, skip it, because it's been listed already 
      // Added getRssi() 
      if (device.getBondState() != BluetoothDevice.BOND_BONDED) { 
       mNewDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress() + getRssi()); 
      } 
     // When discovery is finished, change the Activity title 
     } else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { 
      setProgressBarIndeterminateVisibility(false); 
      setTitle(R.string.select_device); 
      if (mNewDevicesArrayAdapter.getCount() == 0) { 
       String noDevices = getResources().getText(R.string.none_found).toString(); 
       mNewDevicesArrayAdapter.add(noDevices); 
      } 
     } 
    } 
}; 

回答

0

我意識到這是非常晚,但是,在這條線, mNewDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress() + getRssi()); 你不應該說getRssi(); 這應該是你的變量Rssi。 這就是我如何得到我的RSSI值。