Gre*_*reg 1 android widget onupdate android-activity
我正在开发一个包含小部件的Android应用程序.应用程序的主界面是一个简单的活动,但是用户可以在活动中执行的一些操作使得必须更新窗口小部件 - 即运行其onUpdate方法.
如何从活动中触发此方法?看看其他 问题,我已经能够编写改变其布局的代码,但它似乎没有运行onUpdate(因为我只剩下空布局而没有在onUpdate期间添加的数据).
任何想法或代码样本非常感谢!
我对Android仍然很陌生,但我通过三个步骤完成了这项工作:
首先,我将AppWidgetProvider.onUpdate的内容放在method(myUpdate(Context))中.
其次,我重写AppWidgetProvider.onReceive()看起来像这样:
public void onReceive(final Context context, final Intent intent)
{
super.onReceive(context, intent);
if (MY_PUBLIC_STATIC_STRING.equals(intent.getAction()))
{
myUpdate(context);
}
}
Run Code Online (Sandbox Code Playgroud)
第三,在我的其他活动中,我只是发送一个通用广播,其中包含对意图的动作设置.
Intent updateWidgetIntent = new Intent(context, MyWidget.class);
updateWidgetIntent.setAction(MyWidget.MY_PUBLIC_STATIC_STRING);
context.sendBroadcast(updateWidgetIntent);
Run Code Online (Sandbox Code Playgroud)
这确实有不得不从上下文和app小部件ID中找到AppWidgetManager,而不是onUpdate提供的漂亮界面.所以我怀疑这是正确的做法.祝你好运.
myUpdate(Context)如下所示:
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
int[] appWidgetIds =
appWidgetManager.getAppWidgetIds(new ComponentName(context, this.getClass()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4357 次 |
| 最近记录: |