2013-10-30 78 views
0

我想查詢所有可以播放音樂文件的活動。
我試圖讓所有的音樂播放器這樣的:如何獲取所有音樂播放器

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

http://stackoverflow.com/questions/4586684/how-to-get-a-list-of-installed-media-players – eolith

回答

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);