0
我想过滤所有连接到互联网的应用程序。但我不想显示系统应用程序,如拨号程序或设置。但是,如果我使用ApplicationInfo.FLAG_SYSTEM,则内置的浏览器和youtube也会被过滤。我怎样才能解决这个问题?在此先感谢Android系统应用程序
我想过滤所有连接到互联网的应用程序。但我不想显示系统应用程序,如拨号程序或设置。但是,如果我使用ApplicationInfo.FLAG_SYSTEM,则内置的浏览器和youtube也会被过滤。我怎样才能解决这个问题?在此先感谢Android系统应用程序
您需要检查已安装的应用程序的权限。获取安装的应用程序包的名字和他们的权限是这样的:
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" />
但我怎么能与系统应用区分开来? – MiuMiu