コード例 #1
0
        public AndroidTelephonyProbe()
        {
            _outgoingCallCallback = async(sender, outgoingNumber) =>
            {
                _outgoingIncomingTime = DateTime.Now;

                await StoreDatumAsync(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.OutgoingCall, outgoingNumber, null));
            };

            _idleIncomingCallListener = new AndroidTelephonyIdleIncomingListener();

            _idleIncomingCallListener.IncomingCall += async(o, incomingNumber) =>
            {
                _outgoingIncomingTime = DateTime.Now;

                await StoreDatumAsync(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.IncomingCall, incomingNumber, null));
            };

            _idleIncomingCallListener.Idle += async(o, phoneNumber) =>
            {
                // only calculate call duration if we have previously received an incoming or outgoing call event (android might report idle upon startup)
                double?callDurationSeconds = null;
                if (_outgoingIncomingTime != null)
                {
                    callDurationSeconds = (DateTime.Now - _outgoingIncomingTime.Value).TotalSeconds;
                }

                await StoreDatumAsync(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.Idle, phoneNumber, callDurationSeconds));
            };
        }
コード例 #2
0
        public AndroidTelephonyProbe()
        {
            _outgoingCallCallback = (sender, outgoingNumber) =>
            {
                _outgoingIncomingTime = DateTime.Now;

                StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.OutgoingCall, outgoingNumber, null));
            };

            _idleIncomingCallListener = new AndroidTelephonyIdleIncomingListener();

            _idleIncomingCallListener.IncomingCall += (o, incomingNumber) =>
            {
                _outgoingIncomingTime = DateTime.Now;

                StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.IncomingCall, incomingNumber, null));
            };

            _idleIncomingCallListener.Idle += (o, e) =>
            {
                // only calculate call duration if we have previously received an incoming or outgoing call event (android might report idle upon startup)
                double? callDurationSeconds = null;
                if (_outgoingIncomingTime != null)
                    callDurationSeconds = (DateTime.Now - _outgoingIncomingTime.GetValueOrDefault()).TotalSeconds;

                StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.Idle, null, callDurationSeconds));
            };
        }
コード例 #3
0
        public AndroidTelephonyProbe()
        {
            _outgoingCallCallback = (sender, outgoingNumber) =>
            {
                StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.OutgoingCall, outgoingNumber));
            };

            _idleIncomingCallListener = new AndroidTelephonyIdleIncomingListener();

            _idleIncomingCallListener.IncomingCall += (o, incomingNumber) =>
            {
                StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.IncomingCall, incomingNumber));
            };

            _idleIncomingCallListener.Idle += (o, e) =>
            {
                StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.Idle, null));
            };
        }
コード例 #4
0
        public AndroidTelephonyProbe()
        {
            _outgoingCallCallback = (sender, outgoingNumber) =>
                {
                    StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.OutgoingCall, outgoingNumber));
                };

            _idleIncomingCallListener = new AndroidTelephonyIdleIncomingListener();

            _idleIncomingCallListener.IncomingCall += (o, incomingNumber) =>
                {
                    StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.IncomingCall, incomingNumber));
                };

            _idleIncomingCallListener.Idle += (o, e) =>
                {
                    StoreDatum(new TelephonyDatum(DateTimeOffset.UtcNow, TelephonyState.Idle, null));
                };
        }