我已经为我的媒体应用(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
有什么主意如何调用此播放/暂停功能而不必让用户回到应用程序?