Before you get too far into this, you need to be aware that the widget architecture isn't designed to update that frequently. There's a lot of overhead, and updating every ten seconds will seriously impact battery life. As will having a service continually running in the background, for that matter.
It's a cool idea but I'm not sure it's well suited for a widget, unfortunately. String On May 28, 2:43 pm, "[email protected]" <[email protected]> wrote: > I am currently learning about widgets in Android. > > I want to create a WIFI widget that will display the SSID, the RSSI > (Signal) level. > > But I also want to be able to send it data from a service I am running > that calculates the Quality of Sound over wifi. > > Here is what I have after some reading and a quick tutorial: > > --- > > public class WlanWidget extends AppWidgetProvider{ > > RemoteViews remoteViews; > AppWidgetManager appWidgetManager; > ComponentName thisWidget; > WifiManager wifiManager; > > public void onUpdate(Context context, AppWidgetManager > appWidgetManager, > int[] appWidgetIds) { > Timer timer = new Timer(); > timer.scheduleAtFixedRate(new WlanTimer(context, > appWidgetManager), > 1, 10000); > > } > > private class WlanTimer extends TimerTask{ > > RemoteViews remoteViews; > AppWidgetManager appWidgetManager; > ComponentName thisWidget; > > public WlanTimer(Context context, AppWidgetManager appWidgetManager) > { > > this.appWidgetManager = appWidgetManager; > remoteViews = new > RemoteViews(context.getPackageName(), > R.layout.widget); > thisWidget = new ComponentName(context, > WlanWidget.class); > wifiManager = > (WifiManager)context.getSystemService(Context.WIFI_SERVICE); > > } > > @Override > public void run() { > > remoteViews.setTextViewText(R.id.widget_textview, > wifiManager.getConnectionInfo().getSSID()); > appWidgetManager.updateAppWidget(thisWidget, > remoteViews); > } > > } > > --- > > The above seems to work ok, it updates the SSID on the widget every 10 > seconds. > > However what is the most efficent way to get the information from my > service that will be already running to update periodically on my > widget? > > Also is there a better approach to updating the the widget rather than > using a timer and timertask? (Avoid polling) -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

