Android:媒体通知
创始人
2024-10-06 04:31:09
0

在Android应用程序中,我们可以通过媒体通知(Media Notification)在状态栏中显示媒体播放器的控制器。例如,当应用程序播放音乐或视频时,用户可以在状态栏中看到媒体通知并通过该控制器控制媒体播放器的操作,如播放、暂停、前进、后退等。下面是一个简单的代码示例,演示如何创建和管理媒体通知:

//创建媒体通知构造器
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_music)
        .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
        .setContentTitle("Music Title")
        .setContentText("Artist Name");

//创建媒体控制器
MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(this, "MediaSession");
MediaControllerCompat controller = new MediaControllerCompat(this, mediaSessionCompat.getSessionToken());

//设置媒体控制器
builder.setStyle(new androidx.media.app.NotificationCompat.MediaStyle()
        .setMediaSession(mediaSessionCompat.getSessionToken())
        .setShowActionsInCompactView(0, 1, 2)
        .setShowCancelButton(true)
        .setCancelButtonIntent(controller.getPlaybackState().getState() == PlaybackStateCompat.STATE_PLAYING ?
                MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_PAUSE)
                : MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_PLAY))
        .setShowMediaSessionActions(true));

//添加媒体控制器按钮
builder.addAction(new NotificationCompat.Action(R.drawable.ic_skip_previous, "Previous",
        MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)));
builder.addAction(new NotificationCompat.Action(R.drawable.ic_pause, "Pause",
        MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_PAUSE)));
builder.addAction(new NotificationCompat.Action(R.drawable.ic_skip_next, "Next",
        MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_SKIP_TO_NEXT)));

//显示媒体通知
NotificationManagerCompat.from(this).notify(NOTIFICATION_ID, builder.build());

在上面的示例代码中,我们首先使用NotificationCompat.Builder创建了一个媒体通知构造器,然后设置了一些通知的属性,如通知图标、可见性、标题、内容等。接下来,我们创建了一个MediaSessionCompat实例和一个MediaControllerCompat

相关内容

热门资讯

六分钟辅助!pokerworl... 六分钟辅助!pokerworld辅助器,hardrock作弊,法子教程(有挂教程)1、pokerwo...
9分钟辅助!wepoker辅助... 9分钟辅助!wepoker辅助是真的假的,wpk控制牌是真的吗,方式教程(揭秘有挂)1、完成wepo...
一分钟辅助!pokemmo脚本... 一分钟辅助!pokemmo脚本手机版,aapoker怎么提高中牌率,阶段教程(有挂解密)暗藏猫腻,小...
四分钟辅助!we-poker有... 四分钟辅助!we-poker有人玩吗,wepoker免费脚本咨询,演示教程(有挂教程)wepoker...
八分钟辅助!aa poker辅... 八分钟辅助!aa poker辅助,pokemmo内置修改器,方式教程(证实有挂)1、完成pokemm...
第2分钟辅助!智星菠萝透视,h... 第2分钟辅助!智星菠萝透视,hhpoker到底可以作弊码,策略教程(有挂规律)1、hhpoker到底...
第1分钟辅助!wepoker怎... 第1分钟辅助!wepoker怎么发冤家牌,pokemomo辅助软件,办法教程(有挂解惑)1、wepo...
第1分钟辅助!德普之星辅助工具... 第1分钟辅助!德普之星辅助工具如何打开,德州局hhpoker,总结教程(有挂辅助)1、进入游戏-大厅...
第九分钟辅助!wepoker私... 第九分钟辅助!wepoker私人局俱乐部,德州圈脚本,妙招教程(有挂分享)暗藏猫腻,小编详细说明we...
第四分钟辅助!wpk模拟器,h... 第四分钟辅助!wpk模拟器,hhpoker辅助靠谱吗,技法教程(有挂讲解)1、完成hhpoker辅助...