Updating a unique AppWidgetProvider from a Service

by theSmith » Sat, 02 Jan 2010 11:12:47 GMT


Sponsored Links
 Here is my issue, I want to be able to update a specific
AppWidgetProvider (home screen widget) from a custom service class.  I
have to build the remote view in the service because I'm also doing
some networking in there, which takes some time.

The problem is that I can't figure out how to update a specific widget
(individual widgets can have different update intervals, using the
alarm manager).

If I wanted to do it from the onUpdate of the AppWidgetProvider I
could just call appWidgetManager.updateAppWidget(appWidgetId,
remoteView);

Does anyone have any experience with this or any suggestions?

-theSmith

--



Updating a unique AppWidgetProvider from a Service

by theSmith » Mon, 04 Jan 2010 00:17:57 GMT


 To follow up on my own question, heres how I did it.

I went from a service to an IntentService and in the onHandleIntent
(Intent intent) I handle the update requests.

To get the individual id's I put them as an extra in the intent in the
onRecieve() method in the widget, then fire them off to the
IntentService with context.startService(i).  Everything is working
perfectly now.

-theSmith




--


Sponsored Links


Updating a unique AppWidgetProvider from a Service

by Lyndon » Thu, 14 Jan 2010 00:54:22 GMT


 Hi

I have the same problem so thanks very much for the post...

Could you explain how the onHandleIntent method works please.

I have the appWidgetId in the service so I just need the way to update
that specific widget.

Any help would be very much appreciated.

Regards

Lyndon




> - Show quoted text -



Updating a unique AppWidgetProvider from a Service

by theSmith » Fri, 15 Jan 2010 06:58:20 GMT


 No problem, heres how I did it.

AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widgetlayout);
views.setTextViewText(R.id.TextView_Body, "hello world");
appWidgetManager.updateAppWidget(appWidgetId, views);

onHandleIntent is called every time you use context.startService
(intent);  Just make sure to use that intent to send the appWidgetId
you need updated.  If the IntentService is not already running then
its onCreate() is called, other wise the intent is put into a FIFO
queue.  the onHandleIntent method runs on a seperate thread than the
rest of the app, even the IntentService's onCreate().  This allows you
to do time consuming processes like networking without android giving
the user a ANR dialog.

If you want to probe my brain some more feel free to ask.

-chris








> > - Show quoted text -



Other Threads

1. chatting IRC yuuukk...

hayooooo...ngumpul lagiii....

*panggil   yoanita...

sent from Pulsar 1.1

-- 
"Indonesian Android Community [id-android]" 

2. Mirink

As subject

Kalau rekan2 ada yang mao mampir mirink di plaza semanggi, dateng aja  
besok dari jam1 siang

gak ngapa2in cuman ngumpul2 ngomongin android and gadget serta bagi2  
program dan ROM

@Chippy, Dudi, Ivan, Irsan -- besok ku tunggu kedatanganmu yah

~...@herodroid


--~--~---------~--~----~------------~-------~--~----~
Google Groups "Indonesian Android Community [id-android]" group.

To post to this group, send email to id-android@googlegroups.com

To request to subscribe to this group, please visit the following page:
 

3. Info WiFi Tethering

4. ArrayAdapter use or misuse of the Adapter pattern

5. (Again) NexDesire v 'layar putih'

6. Database open fails - dont know why?

7. Google Market Proble