예제 #1
0
 void checkCurrentSong()
 {
     if (mediaPlayer.CurrentSong != null)
     {
         UpdatePage(mediaPlayer.CurrentSong.Id);
     }
     else
     {
         NotificationHandler.DeleteNotification();
         Intent intent = new Intent(this, typeof(SongsPlayer));
         StartActivity(intent);
     }
 }
예제 #2
0
 public override void OnTaskRemoved(Intent rootIntent)
 {
     NotificationHandler.DeleteNotification();
     base.OnTaskRemoved(rootIntent);
 }
예제 #3
0
        public override void OnReceive(Context context, Intent intent)
        {
            if (intent.Action.Equals(BluetoothAdapter.ActionStateChanged))
            {
                State state = (State)intent.GetIntExtra(BluetoothAdapter.ExtraState, BluetoothAdapter.Error);

                if (AndroidSongsManager.Instance.IsPlaying)
                {
                    if (state.Equals(State.TurningOff) || state.Equals(State.Off))
                    {
                        AndroidSongsManager.Instance.Pause();
                    }
                }
            }
            else if (intent.Action.Equals(BluetoothAdapter.ActionConnectionStateChanged))
            {
                State state = (State)intent.GetIntExtra(BluetoothAdapter.ExtraConnectionState, BluetoothAdapter.Error);
                if (AndroidSongsManager.Instance.IsPlaying)
                {
                    if (state.Equals(State.Disconnected) || state.Equals(State.Connected))
                    {
                        AndroidSongsManager.Instance.Pause();
                    }
                }
            }
            else
            {
                if (intent.Extras != null)
                {
                    // get the key event
                    KeyEvent state = (KeyEvent)intent.GetParcelableExtra(Intent.ExtraKeyEvent);

                    if (state.Action.Equals(KeyEventActions.Down))
                    {
                        switch (state.KeyCode)
                        {
                        case Keycode.MediaPlay:
                            AndroidSongsManager.Instance.Start();
                            break;

                        case Keycode.MediaPause:
                            AndroidSongsManager.Instance.Pause();
                            break;

                        case Keycode.MediaStop:
                            if (AndroidSongsManager.Instance.IsPlaying)
                            {
                                AndroidSongsManager.Instance.Stop();
                            }
                            NotificationHandler.DeleteNotification();
                            break;

                        case Keycode.Headsethook:
                        case Keycode.MediaPlayPause:
                            if (AndroidSongsManager.Instance.IsPlaying)
                            {
                                AndroidSongsManager.Instance.Pause();
                            }
                            else
                            {
                                AndroidSongsManager.Instance.Start();
                            }
                            break;

                        case Keycode.MediaNext:
                            AndroidSongsManager.Instance.PlayNext();
                            break;

                        case Keycode.MediaPrevious:
                            AndroidSongsManager.Instance.PlayPrev();
                            break;
                        }
                    }
                }
            }
        }