1.前言
在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便
所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在
系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关
的设置。来解决问题
设置默认Launcher的相关代码
private void setDefaultApplication(String roleName, String packageName) {
RoleManager roleManager = mContext.getSystemService(RoleManager.class);
Executor executor = mContext.getMainExecutor();
Consumer<Boolean> callback = successful -> {
if (successful) {
Log.e(TAG, "setDefaultApplication packageName:"+packageN