デバイスを再スキャンしてRSSIを「リフレッシュ」するスキャンインターバルが必要です。 Sth。このように:
public void scanLeDevice(final boolean enable)
{
final static int SCAN_PERIOD = 2000; //2s
final BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
final BluetoothAdapter mBluetoothAdapter = bluetoothManager.getAdapter();
//to start or stop scanning (true/false)
if (enable)
{
// Stops scanning after a pre-defined scan period
mHandler.postDelayed(new Runnable()
{
@Override
public void run()
{
mBluetoothAdapter.stopLeScan(mLeScanCallback);
if (mGatt == null)
offScan();
}
}, SCAN_PERIOD);
mBluetoothAdapter.startLeScan(mLeScanCallback);
}
else
{
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
}
ようこそStackOverflow。 [ヘルプセンター](http://stackoverflow.com/help)にアクセスし、[How to Ask](http://stackoverflow.com/help/how-to-ask)も読んでください。ここで受け入れられる質問の種類、質問の書き方、このサイトの効果的な使い方を学ぶことができます –
また、あなたの画像はありません – lokusking