I know this has been discussed many times, but it's still not clear to me how to implement this properly. I want to update a widget more often than every 30 minutes (the minimum of the updatePeriodMillis attribute).
I know I should use AlarmManager for this, but all examples I've seen use the AlarmManager to call a Service that updates the widget. Why can it not call the AppWidgetProvider's onUpdate() method? If a second class is used for this why should I still have an (empty) AppWidgetProvider? Why use a Service (which runs in the background I presume) if the AlarmManager calls it repeating anyway? Why not use a BroadcastReceiver?