我正在尝试获取可以处理 Android 上安装的媒体的所有应用程序的列表。
我已经尝试过这里列出的方法,但都没有奏效。它们都返回一个空列表,并且我安装了多个媒体播放器,这些都被 Headset Droid ( https://play.google.com/store/apps/details?id=tvk.headvol ) 识别。
任何人都可以提出任何替代方法,或者可能有并知道问题可能是什么?我需要设置任何权限吗?
我正在尝试获取可以处理 Android 上安装的媒体的所有应用程序的列表。
我已经尝试过这里列出的方法,但都没有奏效。它们都返回一个空列表,并且我安装了多个媒体播放器,这些都被 Headset Droid ( https://play.google.com/store/apps/details?id=tvk.headvol ) 识别。
任何人都可以提出任何替代方法,或者可能有并知道问题可能是什么?我需要设置任何权限吗?
这是我想出的:
PackageManager packageManager = this.getPackageManager();
List<ResolveInfo> pkgAppsList;
Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
pkgAppsList = packageManager.queryBroadcastReceivers(intent, 0);
这提供了一个包含所有可以处理ACTION_MEDIA_BUTTON
意图的应用程序的列表。这些通常是媒体应用程序。