STB1019 / Flutter-Beacon

0 stars 0 forks source link

ranging new regions #2

Closed RobertoFilippini closed 3 years ago

RobertoFilippini commented 3 years ago

in main.dart, nella funzione initScanBeacon() viene gestita la scansione di una lista di regioni. Se durante l'esecuzione del programma aggiorno quella lista però, le nuove regioni non vengono scansionate. Penso che sia legato alla gestione interna del metodo alla riga 175: "_streamRanging = flutterBeacon.ranging(_savedRegions).listen((RangingResult result) {...}" flutterBeacon.ranging() infatti istanzia delle variabili interne di libreria a inizio programma e, se non sono nulle, le riutilizza, non permettendo di aggiornarle.

C'è qualche metodo di libreria che mi permette di risolvere il problema? Alternativamente, posso scaricare localmente la libreria in locale, aggiungerla al progetto e modificare su di essa le parti di codice che mi servono?

RobertoFilippini commented 3 years ago

Ho provato a scaricare in locale il package flutter_beacon e a commentare l'if alla riga 138, del metodo "ranging()". nel momento in cui aggiungo una regione e richiamo initScanBeacon() adesso compare il seguente errore:

The following PlatformException was thrown while activating platform stream on channel flutter_beacon_event: PlatformException(error, Unable to parse Identifier., null, null)

When the exception was thrown, this was the stack:

0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582:7)

1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18)

#2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12) #3 EventChannel.receiveBroadcastStream. (package:flutter/src/services/platform_channel.dart:540:29)
RobertoFilippini commented 3 years ago

è cambiata la gestione della app, ora non saraà più necessario modificare quella funzione