I want a widget showing a countdown for a user initiated tracking of a bus departure. I want to update the widget every minute or so, from when the user initiates the tracking to when the bus has departed (i.e. the time runs out).
This widget needs to be updated more frequently than what updatePeriodMillis
allows, which is every 30 minutes. I reckon about once a minute.
Being new to Android programming, I can think of a few ways to do this, but I would probably end up doing it in a way that consumes way too much battery etc, so I'm looking for some insights from more experienced Android developers.
How do I start the timer? How can I access the widget instance from my applications run-time? And so on.
Full update: Call AppWidgetManager. updateAppWidget(int, android. widget. RemoteViews) to fully update the widget.
Widgets can be added to your phone's home as a quick way to access certain information from apps without having to open the app itself. One example is the Calendar widget, which provides a quick view of the upcoming events in your calendar without having to open the Calendar application.
There are, in general, four types of widgets: information widgets, collection widgets, control widgets, and hybrid widgets.
There are given a lot of android widgets with simplified examples such as Button, EditText, AutoCompleteTextView, ToggleButton, DatePicker, TimePicker, ProgressBar etc. Let's learn how to perform event handling on button click. Displays information for the short duration of time.
I would register an alarm to start my service every 1 minute and the service would update the widget UI
final Intent intent = new Intent(context, UpdateService.class);
final PendingIntent pending = PendingIntent.getService(context, 0, intent, 0);
final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pending);
long interval = 1000*60;
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),interval, pending);
AlarmManager.ELAPSED_REALTIME will not wakr the device if it's sleeping to battery life should not be affected.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With