Android 11.0 Launcher3 去掉长按屏幕微件里面的设置和日历等微件
1.概述
在11.0的系统rom产品开发中,在开发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.去掉长按屏幕微件的核心代码分析
在系统原生的Launcher3中,launcher3为默认home程序,作为系统第一个app(由ActivityManagerService的systemReady函数通过Intent(intent.addCategory(Intent.CATEGORY_HOME);
这里注册为Intent.CATEGORY_HOME的Activity)方式打开home程序的,所以说Launcher.java就是第一个启动的页面,从这里来加载桌面显示数据,
LauncherModel是Launcher3处理数据的核心类,LauncherModel本身继承自BroadcastRec