问题标签 [android-notification.mediastyle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1539 浏览

java - 媒体样式通知操作按钮不适用于 PendingIntent.getBroadcast()

我正在使用NotificationCompat.MediaStyle().

我实现了我的代码以在我的通知中单击操作按钮时发送广播。但我的代码似乎不起作用。

这是我的代码如下:

方法playBackAction()如下:

我的广播接收器如下:

onCreate我在android中注册了广播接收器service

showToast()里面的方法onReceive没有被调用。我想知道broadcast是没有发送还是没有收到。

0 投票
1 回答
658 浏览

android - 在通知生成器中使用 setProgress 不适用于媒体样式通知

我正在尝试.setProgress()在 NotificationBuilder 上使用,但如果我使用 MediaStyle,pogressBar 似乎不会出现:

如果我删除 .setStyle 进度条显示为假定但使用 MediaStyle 它不会。

有谁知道是否有办法使两者兼容?

谢谢

0 投票
1 回答
191 浏览

android - 为什么我们不能覆盖 Android 通知通道声音

我需要更新 Android 通知频道的声音。我对此进行了研究并得出结论,除了名称和描述之外,我们无法更新频道的属性。我需要更新声音,我不想为多个声音创建尽可能多的通道。如何覆盖频道声音 android 通知频道?

0 投票
0 回答
745 浏览

android - 在前台播放 ExoPlayer

我将 ExoPlayer 与库中的标准PlayerNotificationManager类一起使用。

当我关闭通过滑动播放音乐的应用程序时,Android 完全将其杀死,音乐停止,通知继续显示,但按钮未激活。我可以在不使用 Android Service 的情况下实现播放前台吗?如果是,该怎么做?也许 ExoPlayer 有允许实现它的标准服务?

播放器初始化:

0 投票
1 回答
1098 浏览

android - 如何更改牛轧糖中的通知背景颜色?

如何在android中更改通知背景?

我正在使用androidx.core.app.NotificationCompat和以下代码适用于奥利奥及以上的奥利奥设备,但不适用于以下奥利奥设备。

View我用黑色背景制作自定义通知。但除此之外,通知视图通知背景是白色的。

没错,就是这个样子。

提前致谢

0 投票
0 回答
89 浏览

android - 更改通知图标的颜色,如 mediastyle 通知栏的实际颜色

我在我的应用程序中创建了 mediaStyle 通知。此通知的颜色取决于实际播放的歌曲。我进行了设置.setColor(color)NotificationCompat.Builder以便在绘制通知栏时还获得一个彩色程序图标。这种颜色是我的程序颜色之一。

我想要什么: 如何在绘制(滑动)通知栏时设置程序图标的颜色,如 mediastyle 通知颜色。我想根据实际通知颜色动态更改图标颜色。

那可能吗?

谢谢,

0 投票
1 回答
1895 浏览

android - Android:NotificationCompat.MediaStyle 操作按钮不执行任何操作

我有一个简单的 Android 应用程序,其中包含一个Activity和一个Service派生自MediaBrowserServiceCompat. 我已经成功地将它设置为通过使用MediaBrowserCompat和播放我的主要活动中的音频MediaControllerCompat。它甚至可以播放和暂停我的蓝牙耳机的音频。都好。

我的挑战涉及NotificationCompat.MediaStyle出现在锁定屏幕和通知托盘中的通知。通知正确显示。addAction()但是,当我使用and添加按钮时MediaButtonReceiver.buildMediaButtonPendingIntent,它们什么都不做。如果我改为添加一个虚拟 PendingIntent 来启动我的主要活动,那效果很好。

这是我生成通知的代码(抱歉,这是在 Xamarin 中运行的 C#,因此大小写和名称将与您的预期略有不同)。这是在我的服务类里面。

到目前为止,这是我试图解决这个问题的方法:

  • 当我开始播放时,我使用MediaSession.setActive(true)
  • 每次开始和停止播放时,我都会在PlaybackStateCompat
  • 我正确设置了会话令牌。
  • 我的清单中没有设置MediaButtonReceiver任何东西,也没有设置任何东西来处理android.intent.action.MEDIA_BUTTON,因为我的目标是 Android 5.0 及更高版本并使用这些*Compat类,我的理解是不再需要。

我知道媒体按钮事件正在正确路由到我的应用程序,因为我的蓝牙耳机按钮工作。我在我的车上试过,它也在那里工作。只是通知中的按钮不起作用。我期待他们生成对MediaSessionCompat.Callback. 这是不正确的吗?我在这里做错了什么?

我将不胜感激任何指示。


更新: 我让它工作了。我需要<application>在清单的节点中添加以下内容:

...以及实现的服务节点内的以下内容MediaBrowserServiceCompat

我仍然有点困惑为什么这是必要的,因为我的蓝牙耳机和汽车信息娱乐系统的按钮按下都很好地路由到了应用程序。更重要的是,谷歌

MediaBrowserServiceCompat如果您的应用程序中 已经有一个,默认情况下MediaButtonReceiver会将接收到的关键事件传递给 MediaBrowserServiceCompat。你可以在你的 MediaSessionCompat.Callback.

他们将此作为选项“服务处理 ACTION_MEDIA_BUTTON”的替代方案,所以我认为这意味着我不需要对清单做更多的事情。如果有人可以在这里启发我,我将不胜感激。

但是,对于它的价值,这对我有用。

0 投票
1 回答
290 浏览

android - 自定义通知颤振

(睡觉的声音)。如何在颤振中实现这种类型的通知。例如前导图标、标题、副标题、尾随播放和暂停按钮以及背景颜色?图片附在下面的链接中。

图片链接

0 投票
0 回答
326 浏览

android - 将远程图像加载到 Android 中的 NotificationCompat MessagingStyle Message SetData

我正在尝试从NotificationCompat.MessagingStyle.Message.setData()方法中的远程 url 加载图像。

代码是这样的

但是图像没有显示。任何帮助,将不胜感激。谢谢

0 投票
0 回答
499 浏览

youtube-iframe-api - Youtube iframe api:与 MediaSession 交互

我有一个带有 Youtube IFrame API 的 Angular 应用程序。当在安卓设备上使用网站/pwa,并且正在播放 Youtube 视频时,应用程序会自动在 android 通知托盘中创建通知,让您查看当前正在播放的视频。

基本媒体通知

我创建了自己的播放列表控制器,因此我不使用 queueVideoById,因为我不喜欢默认的 youtube-iframe 播放列表控制器的工作方式(之后您无法删除排队的视频)。

从我的 AppComponent 我正在加载 YouTube IFrame API

app.component.ts

app.component.html

此帮助程序用于加载 IFrame API 脚本。LoadApi 插入一个脚本标签,其中 src 设置为 youtube-iframe-url:

当 iframe api 脚本插入 dom 时,YoutubePlayerComponent 通过创建 YT.Player 的实例来处理这个问题(这发生在this.youtubeHelper.apiReady订阅中):

之后isPlayerReady触发,允许播放视频:

调用时YoutubePlayerComponent.playSong,它要么等待 YoutubePlayer 准备就绪(isPlayerReady),要么立即调用this.player.loadVideoById播放请求的视频。

说了这么多,问题是:

默认情况下,当视频在我的网站/pwa 中播放时,它会显示媒体通知,如第一张图片所示。我希望能够导航到我自己的播放列表中的上一个/下一个曲目。所以我想拦截这些事件:

带有上一个/下一个按钮的媒体通知

根据此链接,可以在播放视频后修改窗口的 mediaSession,将自定义处理程序附加到 android 托盘中的上一个/下一个按钮。但由于视频(当然还有 mediaSession)是从 iframe 播放的,所以无法修改元数据:

会成为:

只是检查一下,在播放视频时 mainWindow 的 mediaSession 是空的:

并且实际的 mediaSession 应该在:

那么有什么方法可以在使用 Youtube iframe API 时将上一个/下一个按钮添加到通知中,并处理这些事件?

如有必要,整个项目在 GitHub 上可用