public static void StartListening(OnMessageReceived MessageReceivedHandler, bool additional = false) { state = State.Listening; if (!additional) { //Clear all StopAll(); OnMessageReceivedHandler.Clear(); } //Start NFC CrossNFC.Current.StartListening(); //Handler if (!OnMessageReceivedHandler.Contains(MessageReceivedHandler)) { OnMessageReceivedHandler.Add(MessageReceivedHandler); } //Local Handlers messageReceived = MessageReceived; if (!(OnMessageReceivedHandler.Count > 1) || !IsListening) { CrossNFC.Current.OnMessageReceived += messageReceived; IsListening = true; } }
public static void StartListening() { state = State.Listening; if (!(OnMessageReceivedHandler.Count > 1) || !IsListening) { //Start NFC CrossNFC.Current.StartListening(); //Local Handlers messageReceived = MessageReceived; CrossNFC.Current.OnMessageReceived += messageReceived; IsListening = true; } }
public static void StopAll() { try { CrossNFC.Current.OnMessageReceived -= messageReceived; messageReceived = null; CrossNFC.Current.OnMessagePublished -= messagePublished; messagePublished = null; CrossNFC.Current.OnTagDiscovered -= tagDiscovered; tagDiscovered = null; CrossNFC.Current.StopListening(); CrossNFC.Current.StopPublishing(); IsListening = false; } catch (Exception ex) { } }