当用户按下应用通知中的播放/暂停按钮时,我不希望我的应用打开

时间:2019-07-24 13:16:23

标签: c# android xamarin android-intent android-activity

我已经为我的媒体应用(xamarin / android)发出了一条通知,该通知允许用户直接从通知中播放和暂停音频,因此,如果用户想暂停,则不必重新进入该应用或快速播放。

但是,每次用户单击我的通知按钮时,也会将他们带回应用程序。如何获得它,以便用户可以使用其他应用程序,转到通知,单击“播放/暂停”按钮,然后返回到他们正在做的事情?不要将它们带回我的应用程序。

我认为可能必须将启动模式设置为我的活动,但是我一直在搞弄它,还没有任何改变。

这是我的活动

[Activity]
    public class SecondActivity : Activity
    {
        DabPlayer player = GlobalResources.playerPodcast;
        EpisodeViewModel Episode;
        DroidDabNativePlayer droid = new DroidDabNativePlayer();
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            if (player.IsReady)
            {
                if (player.IsPlaying)
                {
                    player.Pause();
                }
                else
                {
                    player.Play();
                }
            }
            else
            {
                if (player.Load(Episode.Episode))
                {
                    player.Play();
                }
                else
                {
                    //DisplayAlert("Episode Unavailable", "The episode you are attempting to play is currently unavailable. Please try again later.", "OK");
                }

            }

            Finish();
        }

这是我的Android清单

<application android:label="DAB">
    <activity android:name="SecondActivity" launchMode="singleTop" />

我认为您确实不需要查看通知的构建,但是在这里有帮助的话。

var builder = new NotificationCompat.Builder(Application.Context, CHANNEL_ID)
.SetStyle(new Android.Support.V4.Media.App.NotificationCompat.MediaStyle()                                            
.SetShowActionsInCompactView(0))                               
.SetContentIntent(firstPendingIntent) // Start up this activity when the user clicks the intent.                                  
.SetVisibility(NotificationCompat.VisibilityPublic)
.AddAction(Resource.Drawable.ic_media_play_dark, "Play", pendingIntent)
.SetMediaSession(mSession.SessionToken)
.SetContentText(GlobalResources.playerPodcast.EpisodeTitle)
.SetContentTitle(GlobalResources.playerPodcast.ChannelTitle);
.SetDeleteIntent(MediaButtonReceiver.BuildMediaButtonPendingIntent(Application.Context, PlaybackState.ActionStop))
.SetSmallIcon(Resource.Drawable.app_icon) // This is the icon to display                                                                                                     

有什么主意如何调用此播放/暂停功能而不必让用户回到应用程序?

0 个答案:

没有答案