Reputation: 2228
In My application I have to use HomeScreenWidget. And every 2minutes It should update its content. So I tried the following steps
i) create AppWidgetProvider class
public class MainWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
Log.i("onUpdate","called");
this.context=context;
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
remoteViews.setOnClickPendingIntent(R.id.widget_button,getServerData(context));
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
}
@Override
public void onReceive(Context context, Intent intent) {
Log.i("onreceive","called");
this.context=context;
AppWidgetManager manager = AppWidgetManager.getInstance(context);
ComponentName thisWidget = new ComponentName(context, MainWidget.class);
remoteViews.setTextViewText(R.id.widget_tv1,aaa);
remoteViews.setTextViewText(R.id.widget_tv2,bbb);
manager.updateAppWidget(thisWidget, remoteViews);
super.onReceive(context, intent);
}
II) create widget_info.xml
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget_layout"
android:minHeight="72dp"
android:minWidth="294dp"
android:updatePeriodMillis="120000">
</appwidget-provider>
iii) Add widget class in Manifest
<receiver android:name=".MainWidget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_info" />
</receiver>
My Widget is updating for every 30 minutes. I want to update the widget every 2 minutes.. Please provide me the best way
Upvotes: 1
Views: 2494
Reputation: 16043
When specifying the update frequency in the widget_info.xml
, the smallest update interval is 30 min (this is to conserve battery life). If you need a higher frequency of updates you should use the AlarmManager
in conjunction with a Service
.
Here's a tutorial that seem to use the AlarmManager: http://programmerbruce.blogspot.com/2011/04/simple-complete-app-widget-part-1.html
Upvotes: 3