前言:之前有段时间做过YunOS的版本开发,项目中需要尝试替换掉阿里Launcher,遂做了如下分析,权当是个记录。今日恰好有前同事问起,就索性拿出来分享下。
1.在联网之后,会更新一个DeviceManger的APK,这个APK会有一个Home属性的Activity,而这个Activity中的priority= 1,也就是说这个优先级最高,所以会导致无法越过这个设置默认的Launcher。
2.在system/etc目录下有一个文件yunoswhite.list,自定义的Launcher如果要运行必须在里面进行添加,添加在BOOT_COMPLETED段。
3.原来的AliOS之所以能作为默认的Launcher,是因为DeviceManger是一个不能实例化的Activity,设置了enable="false".
4.系统调用Home的时候,是根据proprity的级别来的,默认的是0.
5.YunOS的默认Launcher的proprity也是为0
@SuppressWarnings("deprecation")
private void setCurrentHome(){
final IntentFilter mHomeFilter;
PackageManager mPm = mContext.getPackageManager();
Compon