Add BluetoothManager

This commit is contained in:
Raffaele Mignone 2020-07-09 21:31:20 +02:00
parent bb7a3dc7ee
commit be84521a7b
Signed by: norangebit
GPG Key ID: F5255658CB220573

View File

@ -61,6 +61,12 @@ Potendo opera unicamente nello spazio utente non è stato possibile superare que
[^dont-kill-my-app]: Molti produttori Android per aumentare la durata della batteria dei propri dispositivi tendono a stoppare e ridurre le funzionalità delle applicazioni. Maggiori dettagli possono essere trovati al seguente link \url{https://dontkillmyapp.com}.
Tutte le funzionalità legate al bluetooth sono state *incapsulate* all'interno della classe `BluetoothManager`.
L'interfaccia di questa classe espone due metodi, `startService()` e `stopService()` che consentono di avviare e stoppare sia la scansione che la trasmissione del beacon.
Poiché queste operazioni vanno ad interagire con le funzionalità del sistema operativo, l'istanza di questa classe deve essere collegata ad un oggetto di tipo `Context`.
Si è scelto di collegare l'oggetto `BluetoothManager` alla *application* e non ad una `Activity` in quanto i servizi devono essere utilizzati anche quando non sono presenti *activity* in *foreground*.
Per questo motivo è stata sviluppata anche una classe `BluetoothApplication` che va ad estendere le funzionalità di `Application` e fornisce a sua volta due metodi di start e stop che vanno a richiamare quelli esposti da `BluetoothManager` in modo tale che sia possibile controllare i servizi legati al bluetooth anche da altre componenti dell'applicazione.
### Trasmissione
Il dispositivo dell'utente deve eseguire il broadcast di un beacon bluetooth contenete l'UUID identificativo.