There should only be one instance of a Radius object in a single application.
For best performance:
A Radius object should be created prior to transmit or receive functionality being called.
Ex. at application start time or upon navigating to a screen where LISNR functionality is present
Transmitters/Transmitter Callbacks should be initialized and registered to the Radius object prior to transmit or beacon functionality being called.
Ex. If beaconing should begin on a button press, the respective Transmitter should already be created and registered to the Radius object prior to calling the beacon method inside setOnClickListener
Receivers/Receiver Callbacks should be initialized prior to listening/receiving functionality
Ex. If listening should begin on a button press, the respective Receiver should already be created prior to calling listening functionality (registering the Receiver to the Radius object) inside setOnClickListener
Warning: Running multiple com.lisnr.radius.Receiver(s) for multiple profiles simultaneously will increase the CPU and memory burden linearly. Use discretion when enabling multiple profiles.
If you are having trouble demodulating/receiving tones but aren't sure if the tones are being transmitted properly, use the Audio Analyzer Tool to view tones transmitting in real time.