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. (WTB) LCD DISPALY SCREEN FOR MOTOROLA DROID A855

sesuai sama judul nya..baru atau second di terima asal masih sehat
ane dah cari di kask*s ga ada..moga2 disini ada yg punya...
klo ada japri aja yah...
email : rama.kero...@gmail.com

-- 
===============
"

2. How can we use..?

Hi,

    I want to use *bing search *in my application how can i use that...any
help please..?

-- 

3. Boot animation restarts with android2.2 port on DM355

4. porting android to omnia HD i8910

5. Any other forums..?

6. startNativeTracing cause segmantation fault

7. Surfaceflinger die during upgradation