【发布时间】:2013-04-14 10:33:34
【问题描述】:
onHandleIntent 中的代码:
RemoteViews views = new RemoteViews(getPackageName(), R.layout.mylayout);
views.setTextViewText(R.id.txtView1, "some string");
...
Bundle bundle = intent.getExtras();
int id = bundle.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID);
AppWidgetManager manager = AppWidgetManager.getInstance(this);
manager.updateAppWidget(id, views);
不更新名为 txtView1 的小部件的 TextView。我找了又找,但似乎我所做的一切似乎都与我找到的相符。
【问题讨论】:
-
服务在后台运行 您不能直接从服务更新 ui。使用处理程序
-
是的,同意。这也是 Toast 不起作用的原因。但是,RemoteViews 可能在另一个进程中。 @Harshid 的答案几乎可以工作,但它会更新所有实例。
标签: android android-appwidget intentservice remoteview