我见过关于小部件没有更新的其他一些问题,但所有这些都是因为updatePeriodMillis被配置为小于30分钟的值,并且我已将其设置为1小时并且现在正在检查几个小时。Android应用小部件没有更新
我已经从我的实际窗口小部件项目开始一个单独的项目来测试更新,但我无处可去。
小部件只是使用currentTimeMillis()更新TextView。
AndroidManifest.xml中
<receiver android:name="TestWidget" android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:resource="@xml/widget" android:name="android.appwidget.provider"/>
</receiver>
widget.xml
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget"
android:minHeight="40dp"
android:minWidth="250dp"
android:updatePeriodMillis="3600000" >
</appwidget-provider>
一切加载罚款第一个呼叫,但被的onUpdate不会再调用。
有什么建议吗?
编辑:
TestWidget.class只覆盖的onUpdate
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i = 0; i < N; i++) {
// Inflate the layout
RemoteViews v = new RemoteViews(context.getPackageName(),
R.layout.widget);
v.setTextViewText(R.id.text1, Double.toString(Math.random()));
v.setTextViewText(R.id.text2,
Long.toString(System.currentTimeMillis()));
// Update the widget
appWidgetManager.updateAppWidget(appWidgetIds[i], v);
}
}
你能告诉我们你用来扩展appwidget提供者的类吗? (TestWidget) –
完成。将它添加到帖子中。正如我所说,这只是一个测试,只是为了看到更新功能。实际的事情是做更多的工作,但即使这样简单的工作也没有成效。 ps .:在Galaxy Nexus股票上运行JB – Budius
您是否在代码中重写了onReceive方法?如果是的话,你是否有以下内容:super.onReceive(context,intent); –