2014-03-28 47 views
0

如何通過代碼獲取android中的用戶設置的默認應用程序? 我知道我們可以通過packageManager爲特定的MIME類型獲取默認應用程序的包名稱。 但是有沒有辦法獲得所有註冊爲默認打開各種文件的應用程序列表?在Android中找出默認的應用程序Mime類型

+0

總之我希望有一個這樣的名單 https://play.google.com/store/apps/details?id=com.zealdroid.cleardefaults – Adwait

回答

0

使用PackageManager.getPreferredActivities()

final PackageManager pm = getActivity().getPackageManager(); 

    final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN); 
    filter.addCategory(Intent.CATEGORY_LAUNCHER); 

    List<IntentFilter> outFilters = new ArrayList<IntentFilter>(); 
    outFilters.add(filter); 

    List<ComponentName> outActivities = new ArrayList<ComponentName>(); 
    pm.getPreferredActivities(outFilters, outActivities, null); 
+0

日Thnx的!正是我想要的! – Adwait

+0

我可以從intentfilter獲取應用程序作爲啓動程序的MIME類型嗎? 不重複列表中的活動並從軟件包名稱中查找? – Adwait