获取所有可以处理 Android 13 API33 Intent.ACTION_MEDIA_BUTTON Android 软件包

Getting all android packages that can handle Intent.ACTION_MEDIA_BUTTON Android 13 API33

提问人:mkabatek 提问时间:10/31/2023 更新时间:10/31/2023 访问量:53

问:

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

//get all media players
Intent sendIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
mediaPlayers = this.getPackageManager().queryBroadcastReceivers(sendIntent, 0);
java 音频 android intent 媒体

评论

0赞 CommonsWare 10/31/2023
清单中的元素中有什么?<queries>
0赞 mkabatek 10/31/2023
@CommonsWare我一无所知。我以前从来不需要我的应用程序,我正在更新一个旧应用程序以获取上下文。

答:

3赞 CommonsWare 10/31/2023 #1

为了遵守 Android 11 及更高版本上的软件包可见性规则,您需要一个元素作为根元素的子元素,如下所示:<queries><manifest>

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