-
Notifications
You must be signed in to change notification settings - Fork 455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Help]: Getting state errors on Notify characteristics after reloading screen #724
Comments
thanks for reporting we just need to check for you can open a PR |
Hey Chip, Forgive me but I have never done a PR, not sure how to proceed |
I added if(mounted) before the setState calls and now I am receiving this error I also changed my navigation from Navigator.pop to Navigator.pushReplacement, which seemed to have no effect
|
I think I've found the issue, I seem to be getting duplicate messages from the notify characteristic after I navigate away from the slave dashboard and then back to that screen later on.
You can see there is a "Power Status Received value: [128]" both before AND after the error, but this should only be printing once according to my code, once for each char notify received. Here is the function triggering this error:
|
Alright I found the issue... I was not cancelling the StreamSubscription when navigating away from the screen. See here I am assigning the lastValueStream to sensorStatusSubscription
|
yes, that's just a normal flutter error. |
Requirements
Have you checked this problem on the example app?
Yes
FlutterBluePlus Version
1.17.6
Flutter Version
3.13.7
What OS?
Android
OS Version
12
Bluetooth Module
TI
What is your problem?
What happens is when I initially run my app, I scan for BLE devices, then connect to one and my BLE device is simulating having slave devices connected to it. So I then choose a slave device to read/write data to/from. When I initially load my dashboard screen, the slave dashboard, everything is loading and working properly... Notifications come in like this with no error:
But if I navigate away from my "slave dashboard" and back to the slave list, then choose to reconnect to a slave (any of them), I get errors on every notification characteristic coming in... it's a setstate error and the app seems to be functioning properly but the error still appears.
Here is the error coming in on a notify:
I do not understand what is happening, and realize this may not even be a problem with FBP, but I don't know where else to turn for help
THis is the code I use to navigate to the slave dashboard:
Navigator.push(context, MaterialPageRoute( builder: (context) => DashboardView(widget.services), settings: RouteSettings(name: 'Dashboard View'), ));
This is the code I use when navigating away from the slave dashboard and back to the slave list:
Future<void> LeaveScreen() async { subscription.cancel(); cancel = true; feedTimer2.cancel(); setState(() { loading = true; }); await sensorStatusChar.setNotifyValue(false); await rssiChar.setNotifyValue(false); await powerControlChar.setNotifyValue(false); Navigator.pop(context); }
Logs
The text was updated successfully, but these errors were encountered: