2011-10-17 173 views
0

我想过滤所有连接到互联网的应用程序。但我不想显示系统应用程序,如拨号程序或设置。但是,如果我使用ApplicationInfo.FLAG_SYSTEM,则内置的浏览器和youtube也会被过滤。我怎样才能解决这个问题?在此先感谢Android系统应用程序

回答

0

您需要检查已安装的应用程序的权限。获取安装的应用程序包的名字和他们的权限是这样的:

ArrayList<PackageInfo> res = new ArrayList<PackageInfo>(); 
PackageManager pm = ctx.getPackageManager(); 
List<PackageInfo> packs = pm.getInstalledPackages(0); 

for(int i=0;i<packs.size();i++) { 
    PackageInfo p = packs.get(i); 
    PermissionInfo[] permission = p.permissions; 
    String description = (String) p.applicationInfo.loadDescription(pm); 
    String label= p.applicationInfo.loadLabel(pm).toString(); 
    String packageName = p.packageName; 
    String versionName = p.versionName; 
    String versionCode = p.versionCode; 
    String icon = p.applicationInfo.loadIcon(pm); 
//Continue to extract other info about the app... 
} 

权限:

<uses-permission android:name="android.permission.GET_TASKS" /> 
+0

但我怎么能与系统应用区分开来? – MiuMiu

相关问题