Ejemplo n.º 1
0
        Task <short> PlatformReadRssi()
        {
            TaskCompletionSource <short> tcs = new TaskCompletionSource <short>();

            void handler(object s, RssiEventArgs e)
            {
                ReadRemoteRssi -= handler;

                switch (e.Status)
                {
                case ABluetooth.GattStatus.Success:
                    tcs.SetResult(e.Rssi);
                    break;

                default:
                    tcs.SetResult(0);
                    break;
                }
            }

            ReadRemoteRssi += handler;
            bool success = _gatt.ReadRemoteRssi();

            if (success)
            {
                return(tcs.Task);
            }
            else
            {
                return(Task.FromResult((short)0));
            }
        }