public async Task PlayNotificationDefaultSound()
        {
            await Task.Run(() =>
            {
                // Music enabled?
                if (!MusicOn)
                {
                    return;
                }

                if (Interlocked.Read(ref _estoySonando) != 0)
                {
                    return;
                }

                Interlocked.Increment(ref _estoySonando);

                if (_ringtone == null)
                {
                    Uri urlToNotification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
                    _ringtone             = RingtoneManager.GetRingtone(MainApplication.CurrentContext, urlToNotification);
                }

                _ringtone.Play();

                Interlocked.Decrement(ref _estoySonando);
            });
        }
Example #2
0
        public override void OnReceive(Context context, Intent intent)
        {
            Vibrator vibrator = (Vibrator)context.GetSystemService(Context.VibratorService);

            vibrator.Vibrate(2000);

            Notification notification = new Notification.Builder(context)
                                        .SetContentTitle("Будильник!!")
                                        .SetSmallIcon(Resource.Drawable.IcDialogAlert)
                                        .SetContentText("Вставай!").Build();

            NotificationManager manager = (NotificationManager)context.GetSystemService(Context.NotificationService);

            notification.Flags = NotificationFlags.AutoCancel;
            manager.Notify(0, notification);

            Android.Net.Uri uri = RingtoneManager.GetDefaultUri(RingtoneType.Alarm);

            Ringtone r = RingtoneManager.GetRingtone(context, uri);

            r.Play();
            var Page     = (App)Xamarin.Forms.Application.Current;
            var MainPage = (MainPage)Page.MainPage;

            MainPage.UpdateToogles();
        }
Example #3
0
        public void startRingTone()
        {
            if (mRingtonePlayer != null && mRingtonePlayer.IsPlaying)
            {
                ringRef++;
                return;
            }

            if (mRingtonePlayer == null && mContext != null)
            {
                try
                {
                    mRingtonePlayer = RingtoneManager.GetRingtone(mContext, RingtoneManager.GetDefaultUri(RingtoneType.Ringtone));
                }
                catch (Java.Lang.Exception e)
                {
                    Console.WriteLine("startRingTone: {0} ", e.ToString());
                    return;
                }
            }

            if (mRingtonePlayer != null)
            {
                lock (mRingtonePlayer)
                {
                    ringRef++;
                    mRingtonePlayer.Play();
                }
            }
        }
Example #4
0
        public void PlayNitificationTone()
        {
            Android.Net.Uri notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
            Ringtone        r            = RingtoneManager.GetRingtone(this, notification);

            r.Play();
        }
        public override void OnReceive(Context context, Intent intent)
        {
            switch (ResultCode)
            {
            case Result.Ok:
            {
                try
                {
                    Android.Net.Uri notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
                    Ringtone        r            = RingtoneManager.GetRingtone(context, notification);
                    r.Play();
                }
                catch (Exception e)
                {
                }

                Toast.MakeText(Application.Context, "SMS delivered", ToastLength.Long).Show();
                break;
            }

            case Result.Canceled:
            {
                Toast.MakeText(Application.Context, "SMS not delivered", ToastLength.Long).Show();
                break;
            }
            }
        }
Example #6
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Android.Content.Intent data)
        {
            switch (requestCode)
            {
            case _pickSoundRequestId:
                if (resultCode == Result.Ok)
                {
                    var uri      = data.GetParcelableExtra(RingtoneManager.ExtraRingtonePickedUri);
                    var ringtone = RingtoneManager.GetRingtone(this, Android.Net.Uri.Parse(uri.ToString()));

                    _soundPref.Summary = ringtone.GetTitle(this);
                    PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutString(SoundSettingKey, uri.ToString()).Commit();

                    GoogleAnalyticsManager.ReportEvent(GACategory.SettingsScreen, GAAction.Click, "new ringtone is set");
                }
                break;

            default:
                if (_billingManager != null)
                {
                    _billingManager.OnActivityResult(requestCode, resultCode, data);
                }

                base.OnActivityResult(requestCode, resultCode, data);
                break;
            }
        }
        public void PlayExclusiveNativeSound(NativeSoundData nativeSoundData, float volume = 1.0F)
        {
            StopExclusiveNativeSound();
            Android.Net.Uri uri = Android.Net.Uri.Parse((nativeSoundData.Intern ?
                                                         MediaStore.Audio.Media.InternalContentUri :
                                                         MediaStore.Audio.Media.ExternalContentUri).ToString() + "/" + nativeSoundData.ID);

            if (nativeSoundData.ID == "")
            {
                uri = Android.Net.Uri.Parse(nativeSoundData.Data);
            }


            Ringtone rt = RingtoneManager.GetRingtone(global::Android.App.Application.Context, uri);

            if (rt != null)
            {
                rt.AudioAttributes = new AudioAttributes.Builder()
                                     .SetUsage(AudioUsageKind.Alarm)
                                     .SetContentType(AudioContentType.Music)
                                     .Build();
                rt.Looping = true;
                rt.Volume  = volume;
                rt.Play();
                exclusiveRingtone = rt;
            }
        }
Example #8
0
        public void Beep(int count)
        {
            Android.Net.Uri ringtone     = RingtoneManager.GetActualDefaultRingtoneUri(Context, RingtoneType.Notification);
            Ringtone        notification = RingtoneManager.GetRingtone(Context, ringtone);

            // If phone is not set to silent mode
            if (notification != null)
            {
                for (int i = 0; i < count; ++i)
                {
                    notification.Play();
                    long timeout = 5000;
                    while (notification.IsPlaying && (timeout > 0))
                    {
                        timeout = timeout - 100;
                        try
                        {
                            Thread.Sleep(100);
                        }
                        catch (InterruptedException e)
                        {
                        }
                    }
                }
            }
        }
Example #9
0
        private void SetBinding()
        {
            var bindingSet = this.CreateBindingSet <SettingsView, SettingsViewModel>();

            bindingSet.Bind(HoursList)
            .For(v => v.ItemsSource)
            .To(vm => vm.HoursList);

            bindingSet.Bind(addHour)
            .For(nameof(View.Click))
            .To(vm => vm.AddHour);

            bindingSet.Bind(soundLabel)
            .For(v => v.Text)
            .To(vm => vm.RingUri)
            .WithConversion(new InlineValueConverter <string, string>((arg) =>
            {
                var uri           = Android.Net.Uri.Parse(arg);
                Ringtone ringtone = RingtoneManager.GetRingtone(this, uri);
                return(RingtoneManager.IsDefault(uri) ? "Default" : ringtone.GetTitle(this));
            }));

            bindingSet.Bind(this.snooze)
            .For(v => v.Text)
            .To(vm => vm.SnoozeMinutes)
            .WithConversion(new InlineValueConverter <int, string>(arg => Humanizer.TimeSpanHumanizeExtensions.Humanize(TimeSpan.FromMinutes(arg), maxUnit: Humanizer.Localisation.TimeUnit.Minute, minUnit: Humanizer.Localisation.TimeUnit.Minute)));

            bindingSet.Bind(this.window)
            .For(v => v.Text)
            .To(vm => vm.WindowHours)
            .WithConversion(new InlineValueConverter <int, string>(arg => $"+/- {Humanizer.TimeSpanHumanizeExtensions.Humanize(TimeSpan.FromHours(arg), maxUnit: Humanizer.Localisation.TimeUnit.Hour, minUnit: Humanizer.Localisation.TimeUnit.Hour)}"));


            bindingSet.Apply();
        }
Example #10
0
 public void PlayAudio(bool play)
 {
     if (_Alarm == null)
     {
         var uri = RingtoneManager.GetDefaultUri(RingtoneType.Alarm);
         _Alarm           = RingtoneManager.GetRingtone(global::Android.App.Application.Context, uri);
         _Timer           = new System.Timers.Timer();
         _Timer.Interval  = 2000;
         _Timer.AutoReset = false;
         _Timer.Elapsed  += _Timer_Elapsed;
     }
     if (play && !_Alarm.IsPlaying)
     {
         AccelerometerOld = null;
         GyroscopeMin     = null;
         GyroscopeMax     = null;
         OrientationMin   = null;
         OrientationMax   = null;
         _Alarm.Play();
         _Timer.Start();
     }
     else if (!play && _Alarm.IsPlaying)
     {
         _Alarm.Stop();
     }
 }
Example #11
0
 public Ringer(Context ApplicationContext)
 {
     if (ringtone == null)
     {
         ringtone = RingtoneManager.GetRingtone(ApplicationContext, RingtoneManager.GetDefaultUri(RingtoneType.Ringtone));
     }
 }
Example #12
0
        public override void OnReceive(Context context, Intent intent)
        {
            var message = intent.GetStringExtra("message");
            var title   = intent.GetStringExtra("title");

            var notIntent     = new Intent(context, typeof(MainActivity));
            var contentIntent = PendingIntent.GetActivity(context, 0, notIntent, PendingIntentFlags.CancelCurrent);

            Uri      ring_uri = RingtoneManager.GetActualDefaultRingtoneUri(context, RingtoneType.Ringtone);
            Ringtone r        = RingtoneManager.GetRingtone(context, ring_uri);

            //r.Play();

            mytts = new TextToSpeech_Android();
            Intent checkttsIntent = new Intent();

            checkttsIntent.SetAction(TextToSpeech.Engine.ActionCheckTtsData);
            mytts.Speak(message);


            //var manager = NotificationManagerCompat.From(context);

            //var style = new NotificationCompat.BigTextStyle();
            //style.BigText(message);
        }
Example #13
0
        private void StartSound(String audio_path)
        {
            // Play as a system sound
            Ringtone swingRing = RingtoneManager.GetRingtone(ApplicationContext, Android.Net.Uri.Parse(audio_path));

            swingRing.AudioAttributes = new AudioAttributes.Builder().SetFlags(AudioFlags.None).SetLegacyStreamType(Android.Media.Stream.System).Build();
            swingRing.Play();
        }
Example #14
0
 public RingTone()
 {
     Android.Net.Uri alert = RingtoneManager.GetDefaultUri(RingtoneType.Alarm);
     context      = Android.App.Application.Context;
     ringTone     = RingtoneManager.GetRingtone(context, alert);
     vibrator     = (Vibrator)context.GetSystemService(Context.VibratorService);
     audiomanager = (AudioManager)context.GetSystemService(Context.AudioService);
 }
Example #15
0
        public override void OnFinish()
        {
            inputField.Text = "0:00";
            Android.Net.Uri notificationUri = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
            Ringtone        tone            = RingtoneManager.GetRingtone(context, notificationUri);

            tone.Play();
        }
        //protected override void OnCreate(Bundle savedInstanceState)  -  Original VS code
        //Xamarin.Essentials.Platform.Init(this, bundle);  - code from MS documentation

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);  // -  Original VS code
            //Xamarin.Essentials.Platform.Init(this, bundle);


            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            btnVB_On     = FindViewById <Button>(Resource.Id.btnVB_On);
            btnVB_Off    = FindViewById <Button>(Resource.Id.btnVB_Off);
            btnScreen2   = FindViewById <Button>(Resource.Id.btnScreen2);
            btnAlarm_On  = FindViewById <Button>(Resource.Id.btnAlarm_On);
            btnAlarm_Off = FindViewById <Button>(Resource.Id.btnAlarm_Off);

            btnVB_On.Click     += BtnVB_On_Click;
            btnVB_Off.Click    += BtnVB_Off_Click;
            btnScreen2.Click   += BtnScreen2_Click;
            btnAlarm_On.Click  += btnAlarm_On_Click;
            btnAlarm_Off.Click += BtnAlarm_Off_Click;

            ringer = RingtoneManager.GetRingtone(ApplicationContext, RingtoneManager.GetDefaultUri(RingtoneType.Alarm));



            Intent intent = new Intent(this, typeof(Screen2Activity));

            const int     pendindingIntentId = 0;
            PendingIntent pendingIntent      =
                PendingIntent.GetActivity(this, pendindingIntentId, intent, PendingIntentFlags.OneShot);

            // instantiate builder and set notification elements
            NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
                                                 //Notification.Builder builder = new Notification.Builder(this)
                                                 .SetContentIntent(pendingIntent)
                                                 .SetContentTitle("My 1st Notification")
                                                 .SetContentText("Here is the content from my new notification.")
                                                 .SetSmallIcon(Resource.Drawable.ic_home_black_24dp)
                                                 .SetVisibility(NotificationCompat.VisibilityPublic)
                                                 .SetSound(RingtoneManager.GetDefaultUri(RingtoneType.Alarm)) // ? not obsolete in NotificationCompat !!
                                                 .SetPriority(NotificationCompat.PriorityMax)
            ;



            // build notification
            Notification notification = builder.Build();

            // get the notification manager
            NotificationManager notificationManager =
                GetSystemService(Context.NotificationService) as NotificationManager;

            // publish the notification
            const int notificationId = 0;

            notificationManager.Notify(notificationId, notification);
        }
Example #17
0
        public void Play()
        {
            //TODO: Implement some form of enum.

            var      notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
            Ringtone r            = RingtoneManager.GetRingtone(CurrentActivity, notification);

            r.Play();
        }
Example #18
0
 public static void Play()
 {
     try {
         Android.Net.Uri notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
         Ringtone        r            = RingtoneManager.GetRingtone(Application.Context, notification);
         r.Play();
     } catch (Exception ex) {
         Console.WriteLine(ex.ToString());
     }
 }
 private void BtnAlarm_Click(object sender, System.EventArgs e)
 {
     try
     {
         Android.Net.Uri alarm = RingtoneManager.GetDefaultUri(RingtoneType.Alarm);
         Ringtone        r     = RingtoneManager.GetRingtone(this, alarm);
         r.Play();
     }
     catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); }
 }
Example #20
0
 protected void soundNotificationDefault()
 {
     try {
         var notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
         var r            = RingtoneManager.GetRingtone(this, notification);
         r.Play();
     }
     catch (FeatureNotSupportedException e) {
         Console.WriteLine(e);
     }
 }
        void SendNotification(string title, string messageBody, IDictionary <string, string> data)
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                Xamarin.Forms.MessagingCenter.Send(new MobileBMKG.MessagingCenterAlert {
                    Title = title, Message = messageBody, Cancel = "Ok", OnCompleted = complete
                }, "alaram");
            });

            var context = MainActivity.Instance;

            Android.Net.Uri soundUri = Android.Net.Uri.Parse("android.resource://" + "com.stimik1011.sirinesunami/" + Resource.Raw.tsunami);
            NotifyBroadcastReceived.ringtone = NotifyBroadcastReceived.ringtone ?? RingtoneManager.GetRingtone(context, soundUri);

            if (!NotifyBroadcastReceived.ringtone.IsPlaying)
            {
                NotifyBroadcastReceived.ringtone.Play();
            }



            /*  Xamarin.Forms.MessagingCenter.Send(new MobileBMKG.MessagingCenterAlert { Title = title, Message = messageBody, Cancel = "Ok" }, "message");
             * var bigStyle = new NotificationCompat.BigTextStyle().BigText(messageBody);
             * // Create a PendingIntent; we're only using one PendingIntent (ID = 0):
             * var context = MainActivity.Instance;
             * NotificationManager notificationManager = context.GetSystemService(Context.NotificationService) as NotificationManager;
             * Android.Net.Uri soundUri = Android.Net.Uri.Parse("android.resource://" + "com.stimik1011.sirinesunami/" + Resource.Raw.tsunami);
             * NotificationCompat.Builder builder = new NotificationCompat.Builder(context, MainActivity.CHANNEL_ID)
             *    //  .SetContentIntent(pendingIntent)
             *    .SetContentTitle(title)
             *    .SetContentText("Sirine Tsunami")
             *    .SetAutoCancel(false)
             *    .SetStyle(bigStyle)
             *    .SetSound(soundUri)
             *    .SetPriority(NotificationCompat.PriorityMax)
             *    .SetSmallIcon(Resource.Drawable.icontsunami);
             *
             * if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
             * {
             *    builder.SetVisibility(NotificationCompat.VisibilityPublic);
             * }
             *
             * Intent intent = new Intent(Intent.ActionView, Android.Net.Uri.Parse("http://inatews.bmkg.go.id/terkini.php"));
             * PendingIntent pendingIntent = PendingIntent.GetActivity(context, MainActivity.NOTIFICATION_ID, intent, PendingIntentFlags.UpdateCurrent);
             *
             * Intent buttonIntent = new Intent(context, typeof(DissmisService));
             *
             * buttonIntent.PutExtra("notificationId", MainActivity.CHANNEL_ID);
             * PendingIntent dismissIntent = PendingIntent.GetBroadcast(context, MainActivity.NOTIFICATION_ID, buttonIntent, PendingIntentFlags.CancelCurrent);
             *
             * builder.AddAction(Resource.Drawable.abc_ic_menu_overflow_material, "VIEW", pendingIntent);
             * builder.AddAction(Resource.Drawable.abc_ic_menu_cut_mtrl_alpha, "DISMISS", dismissIntent);
             * notificationManager.Notify(MainActivity.NOTIFICATION_ID, builder.Build());*/
        }
        private void complete()
        {
            var context = MainActivity.Instance;

            Android.Net.Uri soundUri = Android.Net.Uri.Parse("android.resource://" + "com.stimik1011.sirinesunami/" + Resource.Raw.tsunami);
            NotifyBroadcastReceived.ringtone = NotifyBroadcastReceived.ringtone ?? RingtoneManager.GetRingtone(context, soundUri);

            if (NotifyBroadcastReceived.ringtone.IsPlaying)
            {
                NotifyBroadcastReceived.ringtone.Stop();
            }
        }
        public void Notify(string title, string message)
        {
            Intent startupIntent = new Intent(Android.App.Application.Context, typeof(MainActivity));

            startupIntent.PutExtra("title", title.ToString());
            startupIntent.PutExtra("message", message.ToString());


            TaskStackBuilder stackBuilder = TaskStackBuilder.Create(Android.App.Application.Context);

            stackBuilder.AddParentStack(Java.Lang.Class.FromType(typeof(MainActivity)));

            stackBuilder.AddNextIntent(startupIntent);

            const int     pendingIntentId = 0;
            PendingIntent pendingIntent   =
                stackBuilder.GetPendingIntent(pendingIntentId, PendingIntentFlags.OneShot);


            Notification.Builder builder = new Notification.Builder(Android.App.Application.Context)
                                           .SetContentTitle(title)
                                           .SetContentText(message)
                                           .SetContentIntent(pendingIntent)
                                           .SetSmallIcon(Resource.Drawable.icon);
            // Build the notification:
            Notification notification = builder.Build();

            notification.Vibrate = new long[] { 150, 300, 150, 600 };
            notification.Flags   = NotificationFlags.AutoCancel;

            try
            {
                Android.Net.Uri song = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
                var             play = RingtoneManager.GetRingtone(Android.App.Application.Context, song);
                play.Play();
            }
            catch (Exception ex)
            {
            }



            // Get the notification manager:
            NotificationManager notificationManager =
                Android.App.Application.Context.GetSystemService(Context.NotificationService) as NotificationManager;



            // Publish the notification:
            const int notificationId = 0;

            notificationManager.Notify(notificationId, notification);
        }
Example #24
0
        public string[,] GetRingtones()
        {
            RingtoneManager ringtoneManager = new RingtoneManager(context);

            string[,] uris = new string[ringtoneManager.Cursor.Count, 2];
            for (int i = 0; i < ringtoneManager.Cursor.Count; i++)
            {
                uris[i, 0] = ringtoneManager.GetRingtoneUri(i).ToString();
                uris[i, 1] = ringtoneManager.GetRingtone(ringtoneManager.GetRingtonePosition(ringtoneManager.GetRingtoneUri(i))).GetTitle(context);
            }
            return(uris);
        }
Example #25
0
        private void DeclareSwitchEvents()
        {
            Switch swTabNDOptionsVibration = FindViewById <Switch>(Resource.Id.swTabNDOptionsVibration);

            swTabNDOptionsVibration.CheckedChange += delegate(object sender, CompoundButton.CheckedChangeEventArgs e)
            {
                bool boolchecked = e.IsChecked;
                // Store Global Value
                prefs = PreferenceManager.GetDefaultSharedPreferences(this);
                ISharedPreferencesEditor editor = prefs.Edit();

                if (boolchecked)
                {
                    Vibrator v = (Vibrator)this.GetSystemService(Context.VibratorService); // Make phone vibrate
                    v.Vibrate(1000);

                    editor.PutInt("AlertVibrate", 1);
                }
                else
                {
                    editor.PutInt("AlertVibrate", 0);
                }

                editor.Commit();
                editor.Apply();
            };

            Switch swTabNDOptionsAlert = FindViewById <Switch>(Resource.Id.swTabNDOptionsAlert);

            swTabNDOptionsAlert.CheckedChange += delegate(object sender, CompoundButton.CheckedChangeEventArgs e)
            {
                bool boolchecked = e.IsChecked;
                // Store Global Value
                prefs = PreferenceManager.GetDefaultSharedPreferences(this);
                ISharedPreferencesEditor editor = prefs.Edit();

                if (boolchecked)
                {
                    Android.Net.Uri notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
                    Ringtone        r            = RingtoneManager.GetRingtone(this, notification);
                    r.Play();

                    editor.PutInt("AlertTone", 1);
                }
                else
                {
                    editor.PutInt("AlertTone", 0);
                }

                editor.Commit();
                editor.Apply();
            };
        }
        public void StopSound()
        {
            var context  = MainActivity.Instance;
            var soundUri = global::Android.Net.Uri.Parse("android.resource://" + "com.stimik1011.sirinesunami" + "/raw/tsunami");

            NotifyBroadcastReceived.ringtone = NotifyBroadcastReceived.ringtone ?? RingtoneManager.GetRingtone(context, soundUri);

            if (NotifyBroadcastReceived.ringtone.IsPlaying)
            {
                NotifyBroadcastReceived.ringtone.Stop();
            }
        }
 public void SetNotificationSound()
 {
     try
     {
         Uri      defaultSoundUri = Uri.Parse("android.resource://" + Android.App.Application.Context.PackageName + "/" + Resource.Raw.notifysound);
         Ringtone r = RingtoneManager.GetRingtone(Android.App.Application.Context, defaultSoundUri);
         r.Play();
     }
     catch (System.Exception e)
     {
     }
 }
 public override void OnReceive(Context context, Intent intent)
 {
     Toast.MakeText(context, "Running", ToastLength.Short).Show();
     System.Diagnostics.Debug.WriteLine("Running...");
     try
     {
         Uri      notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
         Ringtone tone         = RingtoneManager.GetRingtone(Application.Context, notification);
         tone.Play();
     }
     catch (Error e)
     {
         System.Diagnostics.Debug.WriteLine(e.Message);
     }
 }
Example #29
0
        public void PlaySystemSound()
        {
            //If the ringer mode is different than "Normal" (2), enables the normal mode.
            AudioManager am = (AudioManager)Application.Context.GetSystemService(Context.AudioService);

            if (!am.RingerMode.Equals(2))
            {
                am.RingerMode = RingerMode.Normal;
                //am.SetVibrateSetting(VibrateType.Ringer, VibrateSetting.On);
            }

            Android.Net.Uri uri = RingtoneManager.GetDefaultUri(RingtoneType.Ringtone);
            rt = RingtoneManager.GetRingtone(MainActivity.instance.ApplicationContext, uri);
            rt.Play();
        }
Example #30
0
        /// <summary>
        /// Sets the ringtone path from the user selection
        /// </summary>
        /// <param name="requestCode"></param>
        /// <param name="resultCode"></param>
        /// <param name="data"></param>
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);

            if (requestCode == 3 && resultCode == Result.Ok)
            {
                uriToRingTone = (Android.Net.Uri)data.GetParcelableExtra(RingtoneManager.ExtraRingtonePickedUri);
                string alarmTitle = RingtoneManager.GetRingtone(this, uriToRingTone).GetTitle(this);
                if (uriToRingTone != null)
                {
                    alarmSound.Text = alarmTitle;
                    //Toast.MakeText(this, uriToRingTone.ToString(), ToastLength.Short).Show();
                }
            }
        }