码迷,mamicode.com
首页 > 移动开发 > 详细

Android 系统固定Launcher的方法

时间:2014-12-03 15:48:46      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:android   launcher   home   home键   

在做Android系统的开发时,有时候会碰到一个这样的需求:

因为是自主品牌,也涉及到一个服务在推送,所以希望Launcher能固定会一下,第三方的可以安装 ,但是按Home键时,必须返回系统默认的Launcher

经过分析Home键的流程,发现可以很简单的办到,现和大家分享一下:

路径:frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java

<pre name="code" class="java">public void init(Context context, IWindowManager windowManager,
            WindowManagerFuncs windowManagerFuncs) {....
        mHomeIntent =  new Intent(Intent.ACTION_MAIN, null);
        mHomeIntent.addCategory(Intent.CATEGORY_HOME);
        mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
..}



修改为:

public void init(Context context, IWindowManager windowManager,
            WindowManagerFuncs windowManagerFuncs) {....

ComponentName mHomecom = new ComponentName("com.android.launcher3", "com.android.launcher3.Launcher");
        mHomeIntent =  new Intent(Intent.ACTION_MAIN, null);
        mHomeIntent.addCategory(Intent.CATEGORY_HOME);
        mHomeIntent.setComponent(mHomecom);
        mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

..}

也就是在此中增加一个setComponent的条件,ComponentName需要改成你所需要的就可以了。


经验证,完全可以搞定

Android 系统固定Launcher的方法

标签:android   launcher   home   home键   

原文地址:http://blog.csdn.net/silence_cdsn/article/details/41696771

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!