首先根据Launcher3的源码查找卸载后的图標删除流程看看它在卸载后做了那些事。根据源码查找到LauncherAppState类的构造方法中有个叫LauncherAppsCompat的类它监听着APP的变化,并且向它注册了一个callback:
};//过滤出偠被删除的信息
它首先是过滤出和APP相关桌面图标view信息(一个app可能有多入口)存储在childrenToRemove
list中,然后看是否有图标是在文件夹中在文件夹中的信息存储到folderAppsToRemove
map中,然后遍历childrenToRemove
和folderAppsToRemove
执行删除操作最后刷新界面。至此应用卸载所引起的桌面图标和快捷方式的删除流程我们已经清楚了