发出求救信号~
我有一个Hashtable<Key,Values>
里面的Values一直更新
想要判断Values连续10次相同就remove掉这个device的array
我有写出大概意思的code不过不知道怎么下手,因我的mRssi会一直更新
public ArrayList<BluetoothDevice> mLeDevices = new ArrayList<BluetoothDevice>();
public ArrayList<byte[]> mRecords = new ArrayList<byte[]>();
public Hashtable<String, Integer> mRssi = new Hashtable<>();
public void addDevice(BluetoothDevice device, int rssi, byte[] scanRecord) {
if (!mLeDevices.contains(device)) {
mLeDevices.add(device);
mRecords.add(scanRecord);
}
mRssi.put(device.getAddress(), rssi);
/** 以下为意识code */
ArrayList<Integer> rssiArrayList = new ArrayList<Integer>(mRssi.values());
int lastNum = rssiArrayList.get();
int count = 0;
/** 从头开始loop */
for (int i = 0; i < rssiArrayList.size(); i++) {
/** 如果当前值等于最后值 */
if(rssiArrayList[i]==lastNum){
count++;
if(count>=10){
/** 如果连续10次rssi相同就移除 */
mLeDevices.remove();
}
}
/** 如果不相等的话 */
else {
lastNum=rssiArrayList[i];
count = 1;
}
}
Log.e("mRssi", String.valueOf(mRssi));
}