系统方向学习总结3-- Android Launcher3 app列表页桌面图标按安装时间排序app图标


活动地址:CSDN21天学习挑战赛

 最近跟着CSDN大佬,参与一个 21天打卡的活动

Android framework开发者带你参加21天学习挑战赛活动_安卓兼职framework应用工程师的博客-CSDN博客

这是第3次的内容 Android 10.0 Launcher3 app列表页桌面图标按安装时间排序app图标

从没接触过launcher 3 这块的东西,但是通过大佬的文章,我能懂他是要的一个什么样的效果

在学了2天launcher 3.0后,有这么几个问题,我要抛出来

1.什么是Launcher3

Launcher顾名思义,就是桌面的意思,也是android系统启动后第一个启动的应用程序,这里以android11为例,和其他应用并无区别,只是增加了对其他app和widget的管理窗口,且可以为用户定制化一些酷炫和常用的显示功能,代码上比其他app在manifest.xml中多添加一个HOME属性 

扫描二维码关注公众号,回复: 14859928 查看本文章
<category android:name="android.XXXX.XXXX.HOME" />

2.什么是PackageManager

源码地址

Android系统为我们提供了很多服务的管理类,比如ActivityManager、PowrManager,那么和安装APK有关就是PackageManager了,它负责管理应用程序包,通过它就可以获取应用程序信息。

PackageManager这个类是检测当前已经安装在当前设备上的应用程序包的信息。你可以调用Context类的getPackageManager()方法来获取PackageManager方法。

PackageManager是一个实际上管理应用程序安装、卸载和升级的API。当我们安装APK文件时,PackageManager会解析APK包文件和显示确认信息。当我们点击OK按钮后,PackageManager会调用一个叫"InstallPackage"的方法,这个方法有4个参数,也就是uri、installFlags、observer、installPackagename。PackageManager会启动一个叫"package"的servcie服务,现在所有模糊的东西会发生在这个service中。 

PackageManager的功能

1、安装、卸载应用
2、查询permission相关信息
3、查询Application相关信息(application、activity、receiver、service、provider及相应属性等)
4、查询已安装应用
5、增加、删除permission
6、清除用户数据、缓存、代码等 

3.启动流程是什么样子,入口在哪里

(还没看完,后面会持续补充,待续)

猜你喜欢

转载自blog.csdn.net/yangbin0513/article/details/126217331