首先修改default_workspace.xml。可以参考设置widget:
<appwidgetlauncher: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 {
,在这个阳光明媚的三月,我从我单薄的青春里打马而过,