Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 系統固定Launcher的方法

Android 系統固定Launcher的方法

編輯:關於Android編程

在做Android系統的開發時,有時候會碰到一個這樣的需求:

因為是自主品牌,也涉及到一個服務在推送,所以希望Launcher能固定會一下,第三方的可以安裝 ,但是按Home鍵時,必須返回系統默認的Launcher

經過分析Home鍵的流程,發現可以很簡單的辦到,現和大家分享一下:

路徑:frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.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需要改成你所需要的就可以了。


經驗證,完全可以搞定

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved