问题标签 [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 回答
314 浏览

android - MediaStyle通知进度条在轨道暂停时不断前进API 30

当我从通知中暂停时,进度条会继续前进,因为它仍在播放。如果我再次按下播放,进度条会回到最初暂停的位置并正确恢复。当我暂停时问题就来了:进度条没有停止并一直在前进。每次我的媒体播放器检测到播放状态更改时,我首先更新 PlaybackStateCompat,然后更新 MediaMetadataCompat,最后显示通知。在我们在 API 30 中运行应用程序之前,一切都以这种方式运行良好,该应用程序在扩展通知中具有进度条。在此图像中,播放状态为暂停,但进度条正在前进。

在此处输入图像描述

这就是我创建 PlaybackStateCompat.Builder 的方式。文档说您应该在暂停时将播放速度设置为 0,而这正是我正在做的。

这就是我创建 MediaMetadataCompat.Builder 的方式

0 投票
2 回答
2582 浏览

java - Mediastyle 通知在 android 11 中不起作用

我的音乐应用程序的自定义媒体样式通知不再适用于 Android 11。它在 Android 10 和以前的版本中运行良好。

是否需要添加任何其他代码才能在 Android 11 中运行。

我应该补充一点,去掉“ .setMediaSession(mediaSessionCompat.getSessionToken())) ”行会给我一个通知,但它不是带有完整背景颜色的奥利奥通知等。

这是我创建通知的代码:

0 投票
1 回答
89 浏览

android - MediaSessionCompat 内部的奇怪 NPE

我看到过类似的问题,MediaSessionCompat但它们都已经很老了,实际上大多数早于 AndroidX 并且他们指出它已在较新的版本中得到修复。

从 Android 8 到 11 的各种手机上都发生了这种崩溃androidx.media:media:1.2.1。它总是MediaSessionImplApi21. 在我尝试过的每部手机上都可以正常工作。

在我的最新版本中,这个问题对我来说是新的。我所做的两个重大更改是我在MediaStyle通知中添加了一个进度条,并且我1.2.11.0.0.

这是一个例外:

如果我Callback没有设置它们,很多事情都不会起作用。

我的代码也如下所示:

所以真的没有不设置的余地Callback

知道它可能是什么吗?

通过查看代码及其崩溃的位置:

它正在崩溃sessionImpl.getCallback()mSessionImpl这可能意味着它要么因为是 a而被回收,要么一WeakReference开始就被设置为 null。

0 投票
2 回答
713 浏览

android - 在装有 Android 11 的小米手机上应用通知样式时的 RemoteServiceException

在没有任何明显原因的情况下,搭载 Android 11 的小米手机开始出现在 crashlytics 日志中。通知发生了一些事情。我们不会做任何太具体的事情,并且在其他 Android 11 设备上一切正常。我无法在受影响的设备上重现此崩溃。可能是什么原因?

第一次崩溃开始于 12 月初,到 1 月,数量迅速增长,从每天 10 次增加到 100 次以上

碰撞:

通知方式:

0 投票
1 回答
25 浏览

android - 限制 MediaStyle 通知的媒体路由

当我创建一个 MediaStyle 通知时,它会公开一个选择媒体路由的按钮,如下所示: 参见 screenshot

我如何摆脱这个按钮?或者至少,如何将播放限制为仅本地设备(电话扬声器)?

以下是我创建通知的方式:

0 投票
0 回答
104 浏览

android-mediaplayer - 如何在您的通知中以编程方式更新您的媒体播放器实例的可搜索进度条?

Android Q 及更高版本提供了在我们的通知中包含可搜索进度条的功能。我正在创建一个从外部存储播放音频文件的应用程序。

MediaPlayer 控制进度条

我想实现如图所示的进度条。

问题是我已经实现了一个进度条并且它是可搜索的,但是当用户搜索到 seekbar 上的特定位置时它不会更新媒体播放器。

我的进度条实现

编码

以下代码设置元数据

mediaSession.setMetadata(MediaMetadataCompat.fromMediaMetadata(new MediaMetadata.Builder().putString(MediaMetadata.METADATA_KEY_TITLE, title) .putLong(MediaMetadata.METADATA_KEY_DURATION, Long.parseLong(listSongs.get(position).getmDuration())).build()));

以下代码检查媒体播放器是否正在播放并设置 PlaybackState

0 投票
2 回答
522 浏览

android - Android 通知 MediaStyle 忽略正在进行的标志

我正在尝试在音频应用程序文档以及媒体样式文档中讨论的音频 Android 应用程序中使用 MediaStyle 通知。我能够成功地显示带有功能传输控件的通知,所以我相信我的实现是合理的。但是,当我按照建议设置androidx.media.app.NotificationCompat.MediaStylevia.setStyle()NotificationCompat.Builder,它似乎忽略了该.setOngoing()标志的任何使用。setOngoing根据源代码确保“通知不能被驳回”。我在没有设置媒体样式时遇到了所描述的行为,但在我使用.setStyle().

我想知道是否有人知道解决方法,或者是否有一些未记录的要求我需要安抚以使用.setOngoing()媒体样式通知。我的编译 SDK 版本、目标 SDK 版本和最小 SDK 版本都是 30。请让我知道是否有任何其他代码有用;我相信我正在提供相关的内容。

为了说明这种困境,我提供了屏幕截图,显示了在应用媒体样式时通知如何被关闭,而在不应用媒体样式时通知如何被关闭。

采用媒体风格: 有媒体风格

没有媒体风格: 没有媒体风格

依赖项(全部是最新的):

0 投票
0 回答
82 浏览

android - Android 通知媒体样式 - 不必要的按钮可见

我正在尝试在 Android 11 中显示媒体样式通知,因为现在这是拥有全彩色背景且无边框的唯一选择。除了在一台设备上显示“打开蓝牙”按钮或在另一台设备上显示“电话扬声器”外,一切正常。这是它的样子:

在此处输入图像描述 在此处输入图像描述

另外,这是我的代码:

有谁知道为什么会显示这些不需要的操作?提前致谢!

0 投票
0 回答
12 浏览

android - 在 Android > O 中禁用“无缝媒体传输”和“输出切换器”

是否可以从 MediaStyle 通知中删除此按钮?

在此处输入图像描述

我默认设置它:

0 投票
0 回答
112 浏览

android - 在 Android 11 中的删除通知通道中崩溃,有时也在 android 10 中

Fatal Exception: java.lang.SecurityException: Not allowed to delete channel 1250012 with a foreground service

我的代码在这里