如何获得所有音乐播放器

时间:2013-10-30 07:24:50

标签: java android android-intent mime-types

我想查询所有可以播放音乐文件的活动 我试图让所有音乐播放器都像这样:

Intent resolve_intent = new Intent();
resolve_intent.setAction(android.content.Intent.ACTION_VIEW);
resolve_intent.setType("audio/*");
packages = getPackageManager().queryIntentActivities(resolve_intent, 0);

if (packages == null || packages.size() <= 0)
{
    //none found
}

但我每次都会得到一个空的(或null)列表...
如果我为type = "image/*"video/*"执行此操作 我得到了所有可以处理这种类型的应用程序。

"audio/*"我没有安装任何玩家,即使我知道有一个...... 我做错了什么?

1 个答案:

答案 0 :(得分:0)

喜欢自己:

我忘记设置数据了,我也不知道android也使用了数据 解决匹配的意图...

工作代码:

Intent resolve_intent = new Intent();
resolve_intent.setAction(android.content.Intent.ACTION_VIEW);
resolve_intent.setDataAndType(Uri.fromFile(new File("/some/path/to/a/file")), "audio/*");
List<ResolveInfo> packages = context.getPackageManager().queryIntentActivities(resolve_intent, 0);