Rozwijam BLE w Androidzie, mogę skanować, podłączać i pisać charakterystykę do urządzenia BLE.Jak szybko i stabilnie zapisywać kolejne cechy dla BLE w systemie Android?
Wywołuję następującą funkcję, aby przekazać BluetoothGatt
i characteristic
do AsyncTask
po kliknięciu na Button
.
write_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new WriteCharacteristic(mBluetoothGatt , HueCharacteristic).execute();
}
});
Kodeks charakterystyce zapisu jest jak następuje:
private class WriteCharacteristic extends AsyncTask<String, Void, String> {
public BluetoothGatt mGatt;
public BluetoothGattCharacteristic mCharacteristic;
public WriteCharacteristic(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic){
mGatt = gatt;
mCharacteristic = characteristic;
}
@Override
protected String doInBackground(String... urls) {
mGatt.writeCharacteristic(mCharacteristic);
return null;
}
}
Ale klikam przycisk kolejne, wydaje się, że Android nie pisać za każdym characteristic
do urządzenia BLE .
Jeśli kliknę przycisk po kolei przez 5 razy, utraci on 1 ~ 3 razy. Napiszesz tylko characteristic
na BLE urządzenie przez dwa razy.
Pytanie:
Is there any better way to write characteristic consecutive and stable to BLE device for Android?
Kiedy komunikujemy się z kilkoma (2+) więcej urządzeniami BLE, powinniśmy umieścić w kolejce wszystkie charakterystyki i deskryptory zapisu w tej samej kolejce i zachować rekord, do którego mają być napisane, lub mogą mieć oddzielne kolejki, tak gatt1.writeCharacteristics (. .) i gatt2.writeCharacteristics (..) są prawdopodobnie napisane w tym samym czasie? 10q – Ewoks
@Devunwired Mam to samo pytanie co Ewoks, czy mógłbyś to trochę wyjaśnić? – Felix