I have a simple android widget with a single text view.
I extend AppWidgetProvider class, widget information xml - appwidget-provider..., also updated my manifest file as per document provided on android website.
I also set android:updatePeriodMillis to 1800020 (~30 minutes).
When I place widget on screen all the code under onUpdate method fires for the first time. But after 1800020 milliseconds, the onUpdate doesn't called again. My widget does not update afterwards. Am I missing something with it?
I extend AppWidgetProvider as follow,
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);
}
}
}
My Manifest
<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>