背景:客户定制系统,预制客户apk,要求开机后apk图标默认显示在launcher固定位置,并删除原先图标。
1. 根据客户需求,先手动移动app图标到需求位置。这个时候其实launcher的data文件夹下已经缓存了相关配置信息;
2. 缓存的数据存在了数据库,将缓存文件拷贝出来;
adb pull /data/data/com.android.launcher3/databases/ .
主要信息存在了两个db文件
3. 修改默认配置 packages/apps/Launcher3/res/xml/default_workspace_4x4.xml ;(先要确认是不是这个xml,不同分辨率有差异);
<resolve launcher:container="-101" launcher:screen="0" launcher:x="0" launcher:y="0" > <favorite launcher:uri="#Intent;action=android.intent.action.DIAL;end" /> <favorite launcher:uri="tel:123" /> <favorite launcher:uri="#Intent;action=android.intent.action.CALL_BUTTON;end" /> </resolve>
原来不需要的信息全部屏蔽删除掉;
4. 打开launcher.db文件,里面会有你手动修改后的app配置在launcher首页后的信息;
5. 参考原来的信息tag和上面表格信息,修改这个文件 ,添加:
<resolve launcher:container="-100" launcher:screen="0" launcher:x="1" launcher:y="3">
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.ftdn.genuscare.frame/.ui.MainActivity;end"/></resolve>