android添加默认appwidget

来源:互联网 发布:linux命令执行漏洞函数 编辑:程序博客网 时间:2024/05/22 15:53

首先修改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 {






原创粉丝点击