Android framework 使用自定的activity取代默认的Launcher界面

本文介绍了如何在Android系统中使用自定义的activity替代默认的Launcher界面,详细阐述了开机启动进入自定义activity和按home键跳转的实现过程,涉及到启动流程分析、intent过滤及activity优先级设置。在解决PMS调整intent优先级的问题上,通过修改系统策略避免自定义activity被设为0优先级,从而成功实现目标。
摘要由CSDN通过智能技术生成

背景:需要实现使用自定的activity取代默认的Launcher界面
a. 开机启动后进入自定义的activity
b. 按home键跳转到自定义的activity

1.先看一下launcher 的启动流程:

这里写图片描述

    boolean startHomeActivityLocked(int userId, String reason) {
        if (mFactoryTest == FactoryTest.FACTORY_TEST_LOW_LEVEL
                && mTopAction == null) {
            // We are running in factory test mode, but unable to find
            // the factory test app, so just sit around displaying the
            // error message and don't try to start anything.
            return false;
        }
        Intent intent = getHomeIntent();
        ActivityInfo aInfo = resolveActivityInfo(intent, STOCK_PM_FLAGS, userId);
        if (aInfo != null) {
            intent.setComponent(new ComponentName(aInfo.applicationInfo.packageName, aInfo.name));
            // Don't do this if the home app is currently being
            // instrumented.
            aInfo = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值