Is your service remote, or running in-process?
20.02.2011 19:49 пользователь "Jake Colman" <[email protected]> написал:
>>>>>> "MM" == Mark Murphy <[email protected]> writes:
>
> MM> On Fri, Feb 18, 2011 at 12:44 PM, Jake Colman <[email protected]>
wrote:
>
> >> My service no longer updates the widget and the widget's data area
> >> remains blank.  This indicates (at least to me but I'm still
> >> learning) that either the widget is not getting its notification
> >> to start the service or the service is ignoring its start method.
>
> MM> I'd add some logging or breakpoints. Depending on how you are
> MM> using AppWidgetManager from your service, it's also possible that
> MM> the service is running but just not updating the app widget
> MM> (e.g., you're using the ID-based app widget update and the ID
> MM> changed).
>
> >> So could it be that the notifications are "confused" between old
> >> and new instances of the widget?
>
> MM> That is decidedly possible. I haven't played around with
> MM> supporting multiple app widgets much, so I have no idea how
> MM> stable those app widget IDs are.
>
> MM> If this is for your sunrise app widget from your other thread,
> MM> unless you are supporting monitoring sunrise from multiple
> MM> geographic locations, I would not worry about supporting multiple
> MM> app widgets. Use the updateAppWidgets() that just takes a
> MM> ComponentName and update the lot of 'em in one shot.
>
> So we have already discussed that we are talking about my sunrise
> widget, that we have only a single widget instance, and that my code, in
> any event, would have updated all instances.
>
> I have also confirmed that the widget is still receiving notification
> broadcasts and starting the service accordingly, and that the service is
> getting started. The "only" issue is that the widget is not painting an
> update!
>
> So what about a UID mismatch? The docs say that the service can only
> update the RemoteViews if the UID of the appwidget and the service are
> the same. Can the UID change if I download a new version of the APK
> while the app is still installed on my homescreen? If that happened, it
> might explain why the widget remains blank - the service has a different
> UID so it canot update the widget. If so, when the widget is disabled
> and the services are stopped why wouldn't that clean things up? It
> seems that once I am in this state, I have to kill the emulator and
> start a new one. Furthermore, if this is, indeed the problem, how I
> protect against it. I suppose I can tell the user to be sure to delete
> the widget from the homescreen prior to updating but that is not a very
> satisfactory solution.
>
> Thanks!
>
> --
> Jake Colman -- Android Tinkerer
>
> --
> 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

-- 
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

Reply via email to