微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > Launcher3 如何在桌面上预置窗口小部件AppWidget

Launcher3 如何在桌面上预置窗口小部件AppWidget

时间:10-02 整理:3721RD 点击:
各位大侠, mtk, Launcher3 如何在桌面上预置窗口小部件AppWidget
Launcher3 和 Launcher2 在这方面的处理方式 不一样了,  修改 default_workspace.xml 无效

自己顶一下

可能是你的Launcher3.apk的权限不够
Google从KK开始对系统权限增加限制,对于system权限的获取有严格的规范。Launcher3默认拿不到系统BIND_APPWIDGET权限,因此无法预置
AppWidget。
AppWidget,Launcher3Launcher3Android.mk增加LOCAL_PRIVILEGED_MODULE:= true,这样build出来的
Launcher3.apk会生成到/system/priv-app目录下,可以预置appwidget。

不是 这个原因, 我的代码 版本是 android 5.1,    loadDefaultFavoritesIfNecessary 如下:
    synchronized public void loadDefaultFavoritesIfNecessary() {
        String spKey = LauncherAppState.getSharedPreferencesKey();
        SharedPreferences sp = getContext().getSharedPreferences(spKey, Context.MODE_PRIVATE);
        if (sp.getBoolean(EMPTY_DATABASE_CREATED, false))
        {
            WorkspaceLoader loader = AutoInstallsLayout.get(getContext(),
                    mOpenHelper.mAppWidgetHost, mOpenHelper);
            if (loader == null) {
               
                final Partner partner = Partner.get(getContext().getPackageManager());
                      
                if (partner != null && partner.hasDefaultLayout()) {
                    final Resources partnerRes = partner.getResources();
                    int workspaceResId = partnerRes.getIdentifier(Partner.RES_DEFAULT_LAYOUT,
                            "xml", partner.getPackageName());
                    if (workspaceResId != 0) {
                        loader = new SimpleWorkspaceLoader(mOpenHelper, partnerRes, workspaceResId);
                    }
                }
            }
            if (loader == null) {
                loader = new SimpleWorkspaceLoader(mOpenHelper, getContext().getResources(),
                        getDefaultWorkspaceResourceId());
            }
            // Populate favorites table with initial favorites
            SharedPreferences.Editor editor = sp.edit().remove(EMPTY_DATABASE_CREATED);
            mOpenHelper.loadFavorites(mOpenHelper.getWritableDatabase(), loader);
            editor.commit();
        }
    }
方法变了。
我 没有 百度 到  Partner 的任何消息;
有知道的,请回复一下。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top