修改Launcher3代码--在加载Launcher时默认加载某个widget

来源:互联网 发布:编写高性能的JS 编辑:程序博客网 时间:2024/05/22 05:07
synchronized public void loadDefaultFavoritesIfNecessary(int origWorkspaceResId) {        String spKey = LauncherApplication.getSharedPreferencesKey();        SharedPreferences sp = getContext().getSharedPreferences(spKey, Context.MODE_PRIVATE);        if (sp.getBoolean(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED, false)) {            int workspaceResId = origWorkspaceResId;            // Use default workspace resource if none provided            if (workspaceResId == 0) {                workspaceResId = sp.getInt(DEFAULT_WORKSPACE_RESOURCE_ID, R.xml.default_workspace);            }            // Populate favorites table with initial favorites            SharedPreferences.Editor editor = sp.edit();            editor.remove(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED);            if (origWorkspaceResId != 0) {                editor.putInt(DEFAULT_WORKSPACE_RESOURCE_ID, origWorkspaceResId);            }            mOpenHelper.loadFavorites(mOpenHelper.getWritableDatabase(), workspaceResId);            editor.commit();        }    }

因为Launcher不会默认去加载default_workspace.xml中的代码,所以需要修改上述代码中的
if(sp.getBoolean(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED, false)) ,把false改为true.然后在default_workspace.xml中添加appwidget便签。