private void UpdateNoti()
        {
            try
            {
                string songName   = Methods.FunString.DecodeString(Constant.ArrayListPlay[Constant.PlayPos]?.Title);
                string genresName = Methods.FunString.DecodeString(Constant.ArrayListPlay[Constant.PlayPos]?.CategoryName) + " " + GlobalContext.GetText(Resource.String.Lbl_Music);

                if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
                {
                    Notification.SetContentTitle(songName);
                    Notification.SetContentText(genresName);
                }
                else
                {
                    BigViews.SetTextViewText(Resource.Id.textView_noti_name, songName);
                    BigViews.SetTextViewText(Resource.Id.textView_noti_artist, genresName);
                    SmallViews.SetTextViewText(Resource.Id.status_bar_artist_name, genresName);
                    SmallViews.SetTextViewText(Resource.Id.status_bar_track_name, songName);
                }
                UpdateNotiPlay(Constant.MediaPlayer.IsPlaying);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Пример #2
0
        private void UpdateNotiPlay(bool isPlay)
        {
            try
            {
                Task.Run(() =>
                {
                    try
                    {
                        string songName   = Methods.FunString.DecodeString(Constant.ArrayListPlay[Constant.PlayPos]?.Title);
                        string genresName = Methods.FunString.DecodeString(Constant.ArrayListPlay[Constant.PlayPos]?.CategoryName) + " " + GlobalContext.GetText(Resource.String.Lbl_Music);

                        if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
                        {
                            Intent playIntent = new Intent(this, typeof(PlayerService));
                            playIntent.SetAction(ActionToggle);
                            PendingIntent pPreviousIntent = PendingIntent.GetService(this, 0, playIntent, 0);

                            if (isPlay)
                            {
                                if (Notification.MActions.Count > 0)
                                {
                                    Notification.MActions[1] = new NotificationCompat.Action(Resource.Xml.ic_pause, "Pause", pPreviousIntent);
                                }
                            }
                            else
                            {
                                if (Notification.MActions.Count > 0)
                                {
                                    Notification.MActions[1] = new NotificationCompat.Action(Resource.Xml.ic_play_arrow, "Play", pPreviousIntent);
                                }
                            }

                            if (!string.IsNullOrEmpty(songName))
                            {
                                Notification.SetContentTitle(songName);
                            }
                            if (!string.IsNullOrEmpty(genresName))
                            {
                                Notification.SetContentText(genresName);
                            }
                        }
                        else
                        {
                            if (isPlay)
                            {
                                BigViews.SetImageViewResource(Resource.Id.imageView_noti_play, Android.Resource.Drawable.IcMediaPause);
                            }
                            else
                            {
                                BigViews.SetImageViewResource(Resource.Id.imageView_noti_play, Android.Resource.Drawable.IcMediaPause);
                            }

                            if (!string.IsNullOrEmpty(songName))
                            {
                                BigViews.SetTextViewText(Resource.Id.textView_noti_name, songName);
                            }
                            if (!string.IsNullOrEmpty(genresName))
                            {
                                BigViews.SetTextViewText(Resource.Id.textView_noti_artist, genresName);
                            }
                            if (!string.IsNullOrEmpty(genresName))
                            {
                                SmallViews.SetTextViewText(Resource.Id.status_bar_artist_name, genresName);
                            }
                            if (!string.IsNullOrEmpty(songName))
                            {
                                SmallViews.SetTextViewText(Resource.Id.status_bar_track_name, songName);
                            }
                        }

                        var url = Constant.ArrayListPlay[Constant.PlayPos]?.Thumbnail?.Replace(" ", "%20");
                        if (!string.IsNullOrEmpty(url))
                        {
                            var bit = BitmapUtil.GetImageBitmapFromUrl(url);
                            if (bit != null)
                            {
                                Notification.SetLargeIcon(bit);
                            }
                        }

                        MNotificationManager.Notify(101, Notification.Build());
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }