我正在编写一个启动器活动来托管appwidgets。基本上这就是我在做什么。
- 我的所有appwidgets的容器视图都是一些自定义的ViewGroup。
- 添加小部件时,我会先为要添加的小部件调用config活动。
- 我在主Activity.onStart()中调用AppWidgetHost.startListening(),在onStop()中调用stopListening()
- 添加小部件时,我就是这么做的
application.getAppWidgetManager()。bindAppWidgetIdIfAllowed(appWidgetId,componentName);
AppWidgetHostView hostView = application.getAppWidgetHost()。createView(context,appWidgetId,appWidgetInfo);
hostView.setAppWidget(widgetId,appWidgetInfo);
myViewGroup.addView(hostView);
- 我没有在日志中看到RemoteException,并且主动调用AppWidgetHost.startListening()没有帮助。
醇>
此外,并非所有小部件都无法更新,例如,库存时钟小部件工作正常。这尤其发生在Minimalistic Text Widget和其他一些。添加完小部件后,它可以在停止工作前更新1~2分钟。另一个相关的观察是,当我点击Minimalistic小部件时,修改布局并保存。新布局不会应用于现有窗口小部件。这让我觉得我的代码中有一些错误,但我无法弄清楚在哪里。
提前感谢您的帮助!
抱歉,我不能在此处粘贴详细代码,因为它们四处散落。但如果您需要,我可以提供任何详细信息。再次感谢!