1.前言
在9.0的系统rom定制化开发中,对系统定制的功能也是很多的,在一次产品开发中,要求在第三方app获取应用列表的时候,需要过滤掉某些app,就是不显示在app应用列表中,这就需要在pms查询app列表时过滤掉这些app就可以了,接下来就实现这些功能
2.pms获取应用列表时过滤掉某些app功能实现的核心类
frameworks\base\core\java\android\content\pm\PackageManager.javaframeworks\base\services\core\java\com\android\server\pm\PackageManagerService.java
3.pms获取应用列表时过滤掉某些app功能实现的核心功能分析和实现
pms获取应用列表时过滤掉某些app功能实现,
首选看app中是如何通过pms来获取app列表的相关源码,接下来分析下pms的相关源码
final PackageManager packageManager = getPackageManager();final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);List<ResolveInfo> apps = packageManager.queryIntentActivities(mainIntent, 0);for(ResolveInfo info : apps){String pkgname = info.activityInfo.packageNa