Android :: Sending Event / Intent To AppWidgetProvider
Sep 30, 2009From a service that's running, how do I send an event or an intent to an app widget that is just sitting their idle.

From a service that's running, how do I send an event or an intent to an app widget that is just sitting their idle.
In my app, I want a functionality to create calendar event. I open "new calendar event" activity like this:
CODE:.................
It works perfectly on stock Android. On HTC Sense, I have only one issue - end time is not set correctly, it's always one hour after begin time.
I want send LinkedHashMap to another Intent.
But I don't known what method for extras is allowable.
CODE:...................
I want to send a broadcast from a new thread is start.
This is what i tried:
CODE:............
But ofcourse i need context..this won't work. How can i handle this.
I'm building a service that sends a broadcast intent when some value changes. The service sends the broadcast like this:
Intent broadcastIntent = new Intent(); broadcastIntent.setAction("nl.vu.contextframework.NEWREADING"); broadcastIntent.setData(Uri.parse("context://"+cer.getKey())); broadcastIntent.putExtra("reading",cer); broadcastIntent.addCategory("nl.vu.contextframework.CONTEXT"); sendBroadcast(broadcastIntent);
In some Activity (in a different process), I'm tryint to receive this broadcast as follows:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addDataScheme("context");
intentFilter.addCategory(CATEGORY_CONTEXT);
registerReceiver(new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
Log.d(TAG,"Received intent "+intent); }
}, intentFilter);
Is is possible to send an object to an Android Service through an Intent without actually binding to the service? Or maybe another way for the Service to access Objects...
View 2 Replies View RelatedI want to send an intent from a crash handler [ crash(String tag, Throwable t) in RuntimeInit.java) ] to an activity (stand alone appllication)
I tried to send it from above handler as follows..
CODE:................................
But i failed to send an intent to my application..
Can i send an intent to my application fro RuntimeInit.java handlers?
I have created an app that sends an email with a recording, When the intent is fired and email is chosen as the app to send the attachment, you can see that there is an attachement but the attachment is not delivered. code...
View 1 Replies View RelatedI added broadcast listener "BATTERY_CHANGED" to Android Manifest file so that when the status changed I should get informed. I am adding to Android Manifest file as I want it active through my application life time. But the problem is that I am not getting the broad cast event from the system when battery status changes.
My code is here :-
<receiver android:name=".MyBroadcastReceiver" android:enabled="true"
android:permission="android.permission.BROADCAST_STICKY">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED" />
</intent-filter> </receiver>
<uses-permission android:name="android.permission.BATTERY_STATS"/>
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>
I want to show some notification when android phone is connected to system. I implemented BroadcastReceiver for listening to event android.intent.action.ACTION_UMS_CONNECTED in my application But it is not working. Is it possible to capture this event.
View 3 Replies View RelatedIs their a way to put a POJO inside the intent.putExtra? I have looked into the API's and it only seems to support of type string, int, double, boolean etc. But not a actual POJO / regular Java object.
View 1 Replies View RelatedI use onLongClick and onClick events of a button to get user inputs. Whenever; the user long click and triggers onLongClick event, the onClick event is also triggered. I couldn't find my problem. The code of two methods are shown in below: Code...
View 2 Replies View RelatedI have a general question. Is it possible to set the RemoteView of the widget to a WebView? My goal is to push real time updates to the WebView via the comet technique (HTTP long polling), similar to how Google Talk does it on the desktop browser I suppose. Do you think battery life would be significantly impacted with this approach?
View 5 Replies View RelatedI have an app widget that extends an AppWidgetProvider to create an application widget.
I would like the application widget to be idle until an activity in my app runs; actually when a service in my app is started.
Once that service is started, I need to "wake up" the application widget and communicate with it (i.e. tell it things to display).
So I see that AppWidgetProvider simply extends BroadcastReceiver -- so does that mean:
1. I need to call registerReceiver in my service and tell it to filter for certain kinds of events?
2. Can I even do #1, or will an AppWidgetProvider *only* accept ACTION_APPWIDGET_* intents?
3. If #2 is correct, how can I communicate or "wake up" / trigger the application widget?
4. Can I send events to my app widget using sendBroadcast( intent )?
Then, my app widget has some buttons on it, I need to send an intent back to the application (or service). I see you can do that with PendingIntents, but if i send the different intents it to the same Activity, it seems to re-use the first created pending intent.
I would like to pass a value from the AppWidgetProvider to a service. How can I do that? This value is taken from the widget configuration. If this value changes (by going to the configuration again), how do I pass it back to the service? Is there another way to do this?
View 1 Replies View RelatedI have a widget that shows some data fetched from the Internet. I may have multiple widgets visible on the screen, each displaying some data, partly the same as the other widgets. From time to time I re-fetch the data from the Internet and update the widget views. I've modeled this in an MVC style: I have a model which I can invoke a "re-fetch-data" on, and which the views listen on. My questions:
A) Is it wise to let my model be a singleton?
B) Can I rely on that all widgets are served by the same AppWidgetProvider? Or may some of my widgets get served by a different AppWidgetProvider instance? Or, more generally: Is there any guarantee that there will be only one instance of my AppWidgetProvider? If there is only one instance of my AppWidgetProvider, then I could use an instance variable here for the model, and pass either my AppWidgetProvider or the model around where needed. Perhaps a better option?
C) In the AppWidgetProviders onUpdate method, can I be sure that the same "context" object is passed as argument each invocation?
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?
View 4 Replies View RelatedI am making a clock widget for the android home screen using AppWidgetProvider. I have it calling the TImerTask class that updates all my values using this code:
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new MyTime(context, appWidgetManager), 1, 1000);
}
In the TimerTasks run() I am setting a bunch of text views to the relevant values. My problem is that this seems to work fine, but it makes my home screen unresponsive, probably due to updating it every second. How do I fix this and still have it update the display at the correct time? (I only need to see minutes not seconds, but I want the minutes to change at the correct second.)
It seems like the convenience functions (onUpdate, onEnabled, etc.) aren't being called in the emulator on Android 2.0. Is this a bug, or are these functions just being eliminated? It would have been nice to see this documented somewhere.
View 4 Replies View RelatedAnyone know if it is possible to add AlertDialog within a AppWidgetProvider class? Here is the code I am working on where I start the AlertDialog on onEnabled function call.
@Override public void onEnabled(Context context) { super.onEnabled(context); Log.v(TAG,"onEnabledWidget"); AlertDialog.Builder builder = new AlertDialog.Builder(context).setIcon( android.R.drawable.ic_dialog_info ).setTitle(R.string.app_name) .setMessage("This is testing") .setNeutralButton("Confirm", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { } }); alertNotSmc = builder.create(); alertNotSmc.show(); //runs when all of the first instance of the widget are placed //on the home screen .........
I'm slighty puzzled about how android's AppWidget machinery works. I reimplemented the AppWidgetProvider's constructor like this:
public class MyProvider extends AppWidgetProvider {
public MyProvider() {
Log.d("TEST", "Creating...")
}
public void onUpdate(..., int[] appWidgetIds) {
// updating stuff here
From what I've read in the docs, I understood that AppWidgetProvider is instantiated once, when widget of that type is added for the first time. If another widget of the same type gets added, it will be managed by exactly that provider.But I just discovered that this is not the case. For each widget I add, android creates a new MyProvider (I see that from 'adb logcat' - it prints "Creating..." for each widget)!I don't understad why. Maybe I got something wrong? Or documentation isn't clear on something. What's the reason of having appWidgetIds passed to onUpdate and other methods if each provider is managing only ONE widget?
I have built a widget that contains a button and an editable TextView (that behaves like an EditText) much like the native Google Search bar widget. How can I access the text that the user has typed into the TextView? In an Activity I would just use findViewById(), but of course I can't do that in the AppWidgetProvider. (I get the error message "The method findViewById(int) is undefined for the type Widget.") So I tried to solve it by using a million casts, like so: String str = (String) ((TextView)((Activity) context).findViewById(R.id.txt_input)).getText(); Unfortunately, with that line present my app crashes. What is the correct way to get references to those Widget elements? I've read all about RemoteViews and Widgets and looked for examples where somebody does this (which seems like it would be common, but I guess not) but I haven't turned up a solution. What am I missing?.....
View 8 Replies View RelatedI am attempting to signal my widget such that it receives my new Intent from my service
The code I am using to send from the service is as follows:
CODE:...........................
I was trying to set a progress bar to View.INVISIBLE or View.GONE, or View.VISIBLE inside an AppWidgetProvider. However, it doesn't seem to want to do it. Setting visibility works fine with TextView fields or ImageView fields or ImageButtons. However, ProgressBar doesn't seem to work. It doesn't make sense that just the progress bar type isn't supported for controlling visibility. Has anyone else seen this problem?
View 4 Replies View RelatedI would like to create a Home Widget containing a ListView, but I don't know if this is possible and if it is, how to do it. I was using a ListActivity and it was pretty simple, but can't figure out a way to do it using AppWidgetProvider.
View 1 Replies View RelatedI'm writing a widget where i first have a configure screen where the user makes a selection. Then I want to pass that data on to the actual widget. This must be really simple but I just can find out how to do it.
View 2 Replies View RelatedMy app has a 1*4 icon size widget. When a user tries to add a widget I provide with a configuration screen. and some data is collected - it is verified by the server - it is added to the local DB with appWidgetID as the key - all is good. when user hits save, if there is not enough space, he is given a polite toast - "No more room on this home screen". Now my problem is that the application is not informed of this. Application still assumes the widget was created and sits back and wait for the broadcast to update the widget after certain amount of time.
Can anyone tell me if i can find out via a broadcast or a call back or any method possible to determine if the widget was not successfully created, so that i can mark that record in my DB as deleted. Or better if i can know the space available beforehand via some magic ninja code. my whole application design is disturbed because of this problem.
I know I can save information in a static attribute in a widget, however, is there a way for a widget instance to save the state information similar to the Activity onSaveInstanceState(Bundle outState) method? I don't want to write to a database for this state information.
View 2 Replies View RelatedIs it possible to access the content resolver methods in a class extending from AppWidgetProvider class? Have been trying to do it with no luck so far.
View 3 Replies View RelatedI hope there is a way to resolve this or bye bye hero.
View 10 Replies View Related