在以前的Android版本中,以下代码用于安装可以处理Intent.ACTION_MEDIA_BUTTON的所有包,但现在它不像以前那样工作了.有没有人知道为什么这不再管用了?以及一种新的方法(Android 13 API 33)来获得可以处理Intent.ACTION_MEDIA_BUTTON个的包?

//get all media players
Intent sendIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
mediaPlayers = this.getPackageManager().queryBroadcastReceivers(sendIntent, 0);

推荐答案

要符合package visibility rules on Android 11 and higher,您将需要一个<queries>元素作为根<manifest>元素的子元素,类似于:

<queries>
    <intent>
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent>
</queries>

Java相关问答推荐

基本时态运算的ISO-8601周数据表示法

嵌入式ActiveMQ Artemis Web控制台加载错误

调用引发泛型异常的泛型方法时出现编译错误

呈现文本和四舍五入矩形时出现的JavaFX窗格白色瑕疵

Java LocalTime.parse在本地PC上的Spring Boot中工作,但在Docker容器中不工作

相同的Java SerializedLambda为implMethodKind返回不同的结果

JPanel透支重叠的JComcoBox

Kotlin内联互操作:强制装箱

如何在EXCEL单元格中添加形状和文本

我的Spring Boot测试显示&IlLegalStateException:无法加载某事的ApplicationContext.

如何将Java文档配置为在指定的项目根目录中生成?

扩展视图高度,并将其拖动到较低的视图上,而不是将其向下推?

如何在JUNIT测试中覆盖ExecutorService?

从LineChart<;字符串、字符串和gt;中删除数据时出现特殊的ClassCastException;

try 在两个不同数组的数字之间求平均值

如何使用Java ZoneID的区域设置?

如何在单元测试中获得我的装饰Mapstruct映射器的实例?

如何以事务方式向ibmmq发送消息

Spring Mapstruct如何获取Lazy初始化实体字段的信息?

如何转换Vector<;对象>;转换为int?