Ejemplo n.º 1
0
 private void PhoneCallEnded(DateTime start, DateTime end)
 {
     if (phoneListener != null)
     {
         phoneListener.CallEndedEvent -= PhoneCallEnded;
     }
     telephonyManager.Listen(phoneListener, PhoneStateListenerFlags.None);
     phoneListener = null;
     PhoneCallback.Instance.Complete(true);
 }
Ejemplo n.º 2
0
        public void PlaceCallWithCallBack(string phoneNumber)
        {
            try
            {
                var ctx = Xamarin.Forms.Forms.Context;
                phoneListener                 = new PhoneCallListener();
                telephonyManager              = (TelephonyManager)ctx.GetSystemService(Context.TelephonyService);
                phoneListener.CallEndedEvent += PhoneCallEnded;

                telephonyManager.Listen(phoneListener, PhoneStateListenerFlags.CallState);
                var intent = new Intent(Intent.ActionCall);
                var uri    = global::Android.Net.Uri.Parse("tel:" + CoreExtensions.CleanPhoneNumber(phoneNumber));
                intent.SetData(uri);
                ctx.StartActivity(intent);
            }
            catch (Exception ex)
            {
                var toast = Toast.MakeText(Xamarin.Forms.Forms.Context, "This activity is not supported", ToastLength.Long);
                toast.Show();
            }
        }