As far as I know there is no straightforward way to achieve that.
The only thing that I could think about is to try to find some key words in the labels name of the apps.
Something like that:
private ArrayList<PackageInfo> searchPackageForString(PackageManager pm, String find){
List<PackageInfo> packs = pm.getInstalledPackages(0);
ArrayList<PackageInfo> results = new ArrayList<>();
for (PackageInfo pi : packs) {
if(pi.applicationInfo.loadLabel(pm).toString().toLowerCase().contains(find)){
results.add(pi);
}
}
return results;
}
Then you could try something like That:
searchPackageForString(getPackageManager(), "game");
I didn't try it but I thing that this is the only possibly direction.
Of course I can be wrong...
Edit:
Now that I looked in the pic you attached, I think that they check by find apps respond to Intents for action.
here some example:
https://stackoverflow.com/a/28404480/3332634