1.概述
10.0的产品开发中,在开发Launcher3的微件功能时长按屏幕时,这时候可以进入微件.进入微件以后发现 设置 日历 图库等都有微件图标,这样可以拖动到workspace 作为微件图标使用 点击进入app,由于开发项目的需要,要求去掉这些微件,不让通过进入微件进入app,这就需要分析微件是怎么产生的,然后去掉微件
2.去掉长按屏幕微件的核心代码
packages/apps/Launcher3/src_shortcuts_overrides/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java
packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java
packages/apps/Launcher3/src/com/android/launcher3/model/BgDataModel.java
3.去掉长按屏幕微件的核心代码分析
3.1 LoaderTask.java分析加载屏幕微件的相关代码
在LoaderTask的run方法中,是负责开机进入Launcher3的时候,加载各种数据
public void run() {
synchronized (this) {
// Skip fast if we are already stopped.
if (mStopped) {
return;
}
}
TraceHelper.beginSection(TAG);
try (LauncherModel.LoaderTransaction transaction = mApp.getModel().b