我想查询所有可以播放音乐文件的活动 我试图让所有音乐播放器都像这样:
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/*"
我没有安装任何玩家,即使我知道有一个......
我做错了什么?
答案 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);