最近需要实现一个自己的launcher3已关闭就借机学习下原生的launcher3已关闭源码。
- 增加overview模式可以调整workspace上页面的前后顺序;
-
默认不支持预置appwidget,需要用户指定权限;
-
提供类似小米只有workspace的桌面机制 ;
-
类似Cling等细节的小变化;
那我们就直接研究最新的launcher3已关闭3
launcher3已关闭是开机启动的第一个应用程序用来展示应用列表和快捷方式、尛部件等。
单例处理数据库。这个类继承BroadcastReceiver 我们来重点看下这个类实现;
创建一个线程,用来处理
接收应用安装卸载后的广播当接收到广播调用enqueuePackageUpdated来啟动这个任务。
安装应用向AllAppsList添加应用信息;
卸载应用向AllAppsList 删除数据并删除数据库的数据。
调用addAndBindAddedApps方法 :处理新添加的应用程序并首先将它们添加到数据库中;
接口都是在launcher3已关闭这个类实现的