Android不显示开机向导和开机气泡

修改好的代码下载地址:
https://github.com/Vico-H/Launcher


修改Launcher2.java的代码 (文件位置: /alps/packages/apps/Launcher2/src/com/android/launcher2/Launcher.java) 网站查看源码: https://www.androidos.net.cn/android/6.0.1_r16/xref/packages/apps/Launcher2/src/com/android/launcher2/Launcher.java

Launcher2.java部分源码如下:

······
public void showFirstRunWorkspaceCling() {
        // Enable the clings only if they have not been dismissed before
        if (isClingsEnabled() &&
                !mSharedPrefs.getBoolean(Cling.WORKSPACE_CLING_DISMISSED_KEY, false) &&//此处false改为true
                !skipCustomClingIfNoAccounts() ) {
            // If we're not using the default workspace layout, replace workspace cling
            // with a custom workspace cling (usually specified in an overlay)
            // For now, only do this on tablets
            if (mSharedPrefs.getInt(LauncherProvider.DEFAULT_WORKSPACE_RESOURCE_ID, 0) != 0 &&
                    getResources().getBoolean(R.bool.config_useCustomClings)) {
                // Use a custom cling
                View cling = findViewById(R.id.workspace_cling);
                ViewGroup clingParent = (ViewGroup) cling.getParent();
                int clingIndex = clingParent.indexOfChild(cling);
                clingParent.removeViewAt(clingIndex);
                View customCling = mInflater.inflate(R.layout.custom_workspace_cling, clingParent, false);
                clingParent.addView(customCling, clingIndex);
                customCling.setId(R.id.workspace_cling);
            }
            initCling(R.id.workspace_cling, null, false, 0);
        } else {
            removeCling(R.id.workspace_cling);
        }
    }
    public void showFirstRunAllAppsCling(int[] position) {
        // Enable the clings only if they have not been dismissed before
        if (isClingsEnabled() &&
                !mSharedPrefs.getBoolean(Cling.ALLAPPS_CLING_DISMISSED_KEY, false)) {//此处false改为true
            initCling(R.id.all_apps_cling, position, true, 0);
        } else {
            removeCling(R.id.all_apps_cling);
        }
    }
    public Cling showFirstRunFoldersCling() {
        // Enable the clings only if they have not been dismissed before
        if (isClingsEnabled() &&
                !mSharedPrefs.getBoolean(Cling.FOLDER_CLING_DISMISSED_KEY, false)) {//此处false改为true
            return initCling(R.id.folder_cling, null, true, 0);
        } else {
            removeCling(R.id.folder_cling);
            return null;
        }
    }
······

修改如下:

-   !mSharedPrefs.getBoolean(Cling.WORKSPACE_CLING_DISMISSED_KEY, false) &&
+   !mSharedPrefs.getBoolean(Cling.WORKSPACE_CLING_DISMISSED_KEY, true) &&
-   !mSharedPrefs.getBoolean(Cling.ALLAPPS_CLING_DISMISSED_KEY, false)) 
+   !mSharedPrefs.getBoolean(Cling.ALLAPPS_CLING_DISMISSED_KEY, true)) 
-   !mSharedPrefs.getBoolean(Cling.FOLDER_CLING_DISMISSED_KEY, false)) 
+   !mSharedPrefs.getBoolean(Cling.FOLDER_CLING_DISMISSED_KEY, true)) 

有个需求是开机不要下面这个图片所示的气泡 ![](https://img2018.cnblogs.com/blog/1678519/201905/1678519-20190512122025963-280615933.png)

修改Launcher3.java的代码
(文件位置: /alps/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java)
网站查看源码:
https://www.androidos.net.cn/android/6.0.1_r16/xref/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java

Launcher3.java部分源码如下:

······
protected void onCreate(Bundle savedInstanceState) {
		······
		if (shouldShowIntroScreen()) {
                    showIntroScreen();
                } else {
                    showFirstRunActivity();
                    showFirstRunClings();//注释此行即可
                }
}
······

将下面的直接的这行注释掉就不会有开机气泡了

-    showFirstRunClings();
+    //showFirstRunClings();

本人还是初涉Android,文章用于记录,如有错误望指正!!!

Android不显示开机向导和开机气泡

全文结束