android添加默認appwidget

首先修改default_workspace.xml。可以參考設置widget:

<appwidget
        launcher:packageName="com.android.settings"
        launcher:className="com.android.settings.widget.SettingsAppWidgetProvider"
        launcher:screen="1"
        launcher:x="0"
        launcher:y="0"
        launcher:spanX="4"
        launcher:spanY="1" />

其中要注意的是className,不能寫成其它,否則看不到效果。

接着把widget應用push到system/app。同時刪除launcher.db數據庫,或者清空Launcher數據。

重新進入Launcher就能看到效果了。


如果沒有成功,其中的原因可能是:android系統將你的Launcher看做非安全的模式。即是PackageManager中isSafeMode爲false。

在LauncherModel.java中可以看到數據被刪除了。

if (!isSafeMode && (provider == null || provider.provider == null ||   provider.provider.getPackageName() == null)) {
       if ((provider == null || provider.provider == null ||
                                        provider.provider.getPackageName() == null)) {
                                    String log = "Deleting widget that isn't installed anymore: id="
                                        + id + " appWidgetId=" + appWidgetId;
                                    Log.e(TAG, log);
                                    Launcher.sDumpLogs.add(log);
                                    itemsToRemove.add(id);
                                } else {






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章