package com.android.server.pm;
public class LauncherAppsService extends SystemService {
1. 查询特定intent 所符合的Activity
private boolean hasDefaultEnableLauncherActivity(@NonNull String packageName) {
final PackageManagerInternal pmInt =
LocalServices.getService(PackageManagerInternal.class);
final Intent matchIntent = new Intent(Intent.ACTION_MAIN);
matchIntent.addCategory(Intent.CATEGORY_LAUNCHER);
matchIntent.setPackage(packageName);
final List<ResolveInfo> infoList = pmInt.queryIntentActivities(matchIntent,
matchIntent.resolveTypeIfNeeded(mContext.getContentResolver()),
PackageManager.MATCH_DISABLED_COMPONENTS, Binder.getCallingUid(),
getCallingUserId());
final int size = infoList.size();
for (int i = 0; i < size; i++) {
if (infoList.get(i).activityInfo.enabled) {
return true;
}
}
return false;
}