我有一个简单的Android小部件,只有一个文本视图。
我扩展了 AppWidgetProvider 类,小部件信息xml - appwidget-provider ...,还根据android网站上提供的文档更新了我的清单文件。
我还设置了ndroid:updatePeriodMillis to 1800020 (~30 minutes).
当我在屏幕上放置小部件时, onUpdate 方法下的所有代码首次触发。但在 1800020毫秒之后,onUpdate不会再次调用。我的小部件之后不会更新。我错过了什么吗?
我将AppWidgetProvider扩展如下,
public class Testwidget extends AppWidgetProvider {
int COUNT = 0;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
Log.d("WIDGET", "====================== UPDATED ======================");
super.onUpdate(context, appWidgetManager, appWidgetIds);
for(int _i=0; _i<appWidgetIds.length; _i++){
int _widId = appWidgetIds[_i];
COUNT+=1;
RemoteViews _views = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);
_views.setTextViewText(R.id.tvCount,String.valueOf(COUNT));
appWidgetManager.updateAppWidget(_widId, _views);
}
}
}
我的清单
<receiver android:name="Testwidget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widgetinfo"></meta-data>
</receiver>
Appwidget Provider
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="272dp" android:minHeight="72dp"
android:updatePeriodMillis="1800020" android:initialLayout="@layout/widgetlayout">
</appwidget-provider>