我正在开发一个启动器应用程序。我想将应用程序自动整理到文件夹中,主题为游戏,社交网络,娱乐,工具...但我不知道根据应用程序的信息知道它的类型。
示例:http://dantri4.vcmedia.vn/tI0YUx18mEaF5kMsGHJ/Image/2014/07/APUS-Launcher-3-feb4a.jpg
答案 0 :(得分:0)
据我所知,没有直接的方法来实现这一目标。 我唯一能想到的就是尝试在应用的标签名称中找到一些关键词。 这样的事情:
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;
}
然后你可以尝试类似的东西:
searchPackageForString(getPackageManager(), "game");
我没有尝试,但我认为这是唯一可能的方向。 当然我错了......
编辑: 现在,我查看了你附加的图片,我认为他们通过查找应用程序来检查Intents是否采取行动。 这里有一些例子: https://stackoverflow.com/a/28404480/3332634