Android :: Broadcast Receivers Not Receiving Pending Intents
May 20, 2009
I've had an issue where no matter how I've tried to set it up I'm finding the Broadcast Receivers aren't receiving any Pending Intents. A look through LogCat confirms that the intents are launched, but they're not being executed. I managed to make a simple(ish) repro case. If you take the SimpleWiktionary widget by Jeff Sharkey http://code.google.com/p/wiktionary-android/ and make the following changes plus any required imports. Code...
View 8 Replies
Jul 16, 2010
I am attempting to listen for system fired Intents, specifically regarding text input, using a class extending BroadcastReceiver. I see there is an Intent called ACTION_INPUT_METHOD_CHANGED (android.intent.action.INPUT_METHOD_CHANGED) which I hope to be able to use to know when the keyboard or text input is attempted by the user. (I assume this intent will work as I can use an InputMethodManager object to handle keyboard related tasks)
My java code:
package com.BroadcastReception;
import android.content.BroadcastReceiver; import android.content.Context;
import android.content.Intent; import android.util.Log;
public class InputMethodChangedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
if (arg1.getAction().equals("android.intent.action.INPUT_METHOD_CHANGED")) {
Log.d(this.toString(), "Event Fired");} } }
View 5 Replies
View Related
Nov 7, 2009
I have some code that is creating and removing alarms, and which works great in Android 1.5 and 1.6 but breaks on the Android 2.0 AVD.The code that's giving this exception is: Code...
View 3 Replies
View Related
Sep 9, 2009
I had one question: Is it feasible to use a BroadcastReceiver as a glue layer between the user interface and the underlying business logic ? Example use case: Suppose i am maintaining the state of a call, and providing callbacks to the UI by invoking sendBroadcast with the relevant intent. Similarly, my underlying business logic can send broadcasts to the activity that has registered for receiving it on certain events ( like call connected, connecting, timed out etc).
View 4 Replies
View Related
Dec 30, 2009
Is it possible to use just a broadcast receiver without any activities? I just want to run some sample code only when the phone receives a call and nothing more. I use Log.d to write out but I don't see anything in the log. Am I missing something here? I also have permissions set in the androidmanifest.xml to allow for these type of intents.
View 3 Replies
View Related
Mar 16, 2010
something weird just started happening. my app has a broadcast receiver which may access the network when invoked. the code has been solid for ages, but in the last few days it has started getting DNS errors on perfectly fine hosts. these are hosts which can be reached without problems in the main app or from other apps.interestingly i've seen another app get DNS errors too another app with a broadcast receiver.seems to affect all OS versions -- we have 1.5, 1.6, and 2.01 here. i don't have a Nexus to test 2.1, though. are there caveats to doing network inside broadcast receivers? i didn't think so, as ours worked fine until the time change [fx: twilight zone theme]
View 6 Replies
View Related
Apr 26, 2010
I've asked here a question about Task Killers and widgets stop working (SO Question) but now, I have reports of user that they don't use any Task Killer and the widgets didn't work after a while. I have a Nexus One and I don't have this problem.I don't know if this is a problem of memory or something. Based on the API: So, I don't know why widget stop working, if Android doesn't kill the Pending Intent by itself, what's the problem? Code...
View 1 Replies
View Related
May 13, 2010
I would like to show a notification that displays the progress of an ongoing operation. That works well for me. But at the same time the remote view should contain cancel button to stop the ongoing operation. The usual content intent should still do something else, i.e. not cancel the ongoing operation. It seems though that I can only have one intent. Code...
View 3 Replies
View Related
Apr 21, 2010
Can anyone give a hint if you know why there are some ACTIONS that do not trigger their associated receivers when they are registered in the manifest while they are received when they are register through registerReceiver() ? For instance, when I declare: <receiver android:name=".MyReceiver"> <intent-filter> <action android:name= "android.intent .action .NEW_ OUTGOING_CALL" /></intent-filter> </receiver> if the application is NOT running My Receiver is never invoked. But now, if I register the intent from inside a service, MyReceiver is invoked properly
View 2 Replies
View Related
Jul 17, 2010
im trying to understand what the difference between a service and a broadcast receiver is,as i see it they can do the same thing.For example i have an application : App1 That provide a service called ToastHelloWorld which just creates a Toast and stopSelf(). expose it to other applications using an intent filter with the action name: "com.test.HelloToast"Now i have another application : App2 i want to implicit use a service with the action "com. test. Hello Toast" so i call startService( new Intent ("com. test.HelloToast"));and it works.Why would i use broadcast receivers when i can do everything with services and dont have the restriction of a 5sec execution limit?.I know most "system events" is exposed via broadcasts' but couldnt they just aswell be published as Service Intents?
View 1 Replies
View Related
May 4, 2009
I started to implement my own App Widget using the example provided in the ApiDemos. In order to update the Widget efficiently I chose the Broadcast Receiver mechanism. In the ApiDemos there is this ExampleBroadcastReceiver which would (or should) react to changes related to TimeZone and Time as specified in the Android Manifest of the ApiDemos. I have debugged this Example using Eclipse and the Logcat output (provoking changes in TimeZone through the settings) and come to the conclusion that there must be some bug in the app widget framework. The only Broadcast Receiver that seems to work is the AppWidgetProvider itself. For instance I would expect something like: D/ExampleBroadcastReceiver intent=XY in the logcat's output after I have provoked the event XY. I have even tried without the 'enabled' option in the receiver's specification in the Android Manifest.
View 5 Replies
View Related
Jun 28, 2010
The online android documentation says: Everything you can do with AppWidgetProvider, you can do with a regular Broadcast Receiver.So, what i want to do is to register via registerReceiver() another event other than ACTION_APPWIDGET_* on my Widget. For example ACTION_BATTERY_OKAY, is there any way to do this? Obviously i cant register the event from the onUpdate() code but i should do it using a service or something else. The problem is that im not able to find any reference to the Provider (AppWidgetManager only returns AppWidgetProviderInfo objects).
View 1 Replies
View Related
Jul 2, 2010
I have a program that monitors incoming SMS's, and I want it to monitor them full-time, so I registerReceiver with a Broadcast receiver that I've created. The problem is, if I want to unregister that receiver, I can't unless I know the original Broadcast Receiver class I registered. This is not a problem if I set it to stop when the program stops, but I want the receiver to keep running, only stopping when the user specifies. EDIT: Or is there a way of "Storing" the Broadcast Receiver class that I've created, such that when onDestroy is called it can be saved and when create is called again it can be pulled out.Is there any way of doing this?
View 1 Replies
View Related
Jul 22, 2010
How to set a priority for multiple Broadcast Receivers when dealing with ordered intent broadcast?
View 7 Replies
View Related
Nov 19, 2009
In my app, user starts a service and shows a notification from activity A. The notification creates a Pending Intent that will invoke activity A should the user tap on it. The problem with this behavior is that, if the user starts the service (which shows the notification), drags down the notification bar, then taps the notification, I now have two activity A's in the display stack, one on top of the other and both exactly the same. How can I re-use the original activity A in this situation so the user isn't duplicating activities?
View 4 Replies
View Related
Sep 8, 2010
in order to save some battery, I was wondering what happens if an activity registers a requestLocationUpdates and then the user (or the os) puts it in background or kills it. Will the location manger still be active and then will the pending intent still be fired? In other words, will the location manager still be alive even if its lancher does not exist anymore? I'd really love this scenario because allows me to link an intent service that handles the location updates without bothering of have something always running waiting for good news from location.
View 9 Replies
View Related
Sep 23, 2010
I am developing an app for android mobiles that communicates with a json/rest web service. I need to make certain kinds of calls periodically to the server to check for some information. Within that context I might need also to query the GPS for the current position. I'm quite undecided to use a Local Service, since I don't know very well how to deal with them, in fact I need to retrieve those data periodically and refresh a MapView accordingly. I heard that I can use PendingIntents,in the service, associate this data as a payload and send them to a broadcast receiver which unpack the data and refresh the UI, I heard also that this is a bad design approach because of what broadcast receiver are intended to be used for.
View 1 Replies
View Related
Nov 1, 2010
In a book I read, the author suggests to extend the application class in order to have a place to be used as a singleton. In this way, it is easy to make some initialization stuff in it onCreate().Now my question: if my application has also some broadcast receivers declared in the manifest, and the application was not started explicitly, or it was but then the os reclaimed it resources back, what will be happening if the broadcast receiver is triggered? Will the onCreate of the application class be called first?
View 7 Replies
View Related
Mar 25, 2010
Currently my application is configured to always receive the CONNECTIVITY_CHANGED action to force an update if the previous update failed because there was no connectivity. What I don't like about this is that the broadcast receiver gets to be called too many times although it is not needed. I was thinking to register my broadcast receiver only if an update failed using the Context.registerReceiver(BroadcastReceiver receiver, IntentFilter filter) method. But I'm not so sure if this is a good idea. I'm concerned that if my application is evicted from memory the broadcast receiver will be unregistered or lost and my application will not be notified about the future CONNECTIVITY_CHANGED actions. The update is done in a short lived service. So if the update fails, the service will register the broadcast receiver just before it ends its execution time. Can somebody explain what happens to my broadcast receiver after the application is evicted from memory?
View 4 Replies
View Related
Oct 25, 2010
I'm working on a project where I need to run the BroadcastReceiver for a third party library for a specific Intent. I also want to run some of my own code when the Intent is broadcast. If I supply my own BroadcastReceiver for the same Intent, it seems that only, one or the other runs, but not both, depending on which appears first in the AndroidManifest.xml file. Is it possible to register multiple BroadcastReceivers for the same Intent in the same application and have them all run? AndroidManifest.xml snippet
View 4 Replies
View Related
Oct 29, 2010
Is there a way to capture a key event from the Menu button using an Intent or Broadcast Receiver? Basically I want my app's Service to be activated when the Menu key is pressed.
View 1 Replies
View Related
Sep 18, 2010
I have a Widget I am working on, that allows the user to have more then one instance of the widget on his screen. Each Widget ID maintains its own configuration file. However, for some odd reason my code that is responsible for setting up the buttons individually for each widget id is not working, only the first widget id is linked to each individual widget. Below is the code that is responsible.
private void TieClicks(Context context){
RemoteViews rViews;
PendingIntent editPendingIntent= null;
// Intent updateintent = new Intent(context,SyncNoteWidget.class);
// updateintent.setAction(SyncNote_Action_Widget_Update);
// PendingIntent pendingupdateintent = PendingIntent.getBroadcast(context, 0, updateintent, 0);
// rViews.setOnClickPendingIntent(R.id.widgettextview , pendingupdateintent);
// AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
int[] ids = appWidgetManager.getAppWidgetIds(new ComponentName(context, SyncNoteWidget.class));
for (int i =0;i< ids.length;i=i+1){
int wId = ids[i];
rViews = new RemoteViews(context.getPackageName(),R.layout.widget);
editPendingIntent = makeControlPendingIntentActivity(context, wId);
Log.v("syncnote", "tieing " + String.valueOf(wId));
rViews.setOnClickPendingIntent(R.id.widgeteditbutton, editPendingIntent);
appWidgetManager.updateAppWidget(wId, rViews);
editPendingIntent= null;
} }
private PendingIntent makeControlPendingIntentActivity(Context context,int appWidgetId) {
Intent active = new Intent(context, EditNote.class);
active.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
active.setAction(com.ntu.way2fungames.syncnote.SyncNoteWidget.SyncNote_Action_Edit);
active.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
return(PendingIntent.getActivity(context, 0, active, 0 ));
}
View 2 Replies
View Related
May 11, 2010
Let's say I have a background service that performs several tasks. As it completes task A, it posts notification A with a certain intent and some extra data that indicates viewing result of A. As it completes task B, it posts notification B with a certain intent and some extra data that indicates viewing result of B. As it completes task C, it posts notification C with a certain intent and some extra data that indicates viewing result of C. At the end, the notification area has three notifications. Each one has the same intent, except for one of the extra data fields. I would expect that each one would load my activity with different extra data. They don't. When onNewIntent is called, each has the extra data field set to C. I have rooted out any possible aliasing and checked the data as it is placed into a notification. It seems to allow only one set of data per package. Is what I am attempting not possible? Has anyone accomplished what I am attempting? For example, have you had a service download several large files, and then had notifications that would open each of those. Code...
View 4 Replies
View Related
Apr 30, 2010
I have one WidgetProvider but expect the user to have multiple instances of the widget on the home screen. When the user clicks on the widget, an intent is fired to start an activity A passing a String extra (which is specific to that instance of the app widget). Everything works fine unless the activity is already running, in which case the activity is shown in its previous state (and so the intent extra data is ignored). I've tried using various Intent flags (like FLAG_ACTIVITY_NEW_TASK) but they don't seem to help.
View 4 Replies
View Related
Mar 16, 2010
Is it ok to drop Pending Intents in android if they are never used. Such as in an AppWidgetProvider where a Pending Intent that was never used be overwritten by a new Pending Intent. Or should we call cancel on all unused Pending Intents to clean up memory appropriately?
View 1 Replies
View Related
Oct 30, 2010
I have an IntentService that broadcasts an Intent each time if finishes some work. Each broadcast Intent is identical except that it contains a Bundle with some result information from the IntentService. Evidently, having different data in the Bundle is not enough for Android to think it's a different Intent. If the IntentService broadcasts two of these Intents back-to-back, the second one is dropped as a duplicate.
I know I've read about this behavior in this forum in the past but I can't find in the documentation where this duplicate elimination logic is described in detail. Mostly, I just want to differentiate the Intents enough that they are not considered duplicates. Any pointers would be appreciated.
View 13 Replies
View Related
Dec 15, 2009
I need to be able to handle/catch Intents while my Activity is closed. So I am looking at either a Service or a BroadcastReceiver. Is it possible to "receive" intents to a service itself? I tried to search, but could not find anything helpful. With a BroadcastReceiver, I am not exactly sure how that works outside of an Activity. Does it depend on the Activity being open/running? Can it run by itself?
Let's say that my Activity is killed by Android(or a task killer app), does the BroadcastReceiver still receive intents and process them? I have used a BroadcastReceiver as a widget, but I do not want to use a widget this time. My goal is to have the user open the Activity to set some options. From there, they would be able to close the Activity, but I would still be able to process Intents that were sent out by the system. I am still fairly new to Android development, so I could be so far away from where I need to be.
View 1 Replies
View Related
Jun 29, 2010
I was just working on an application that will do stuff when a call is missed or made; and am left wondering why do you have to register a listener using a long lived background service for phone state changes instead of being able to use broadcast intents?
View 2 Replies
View Related
Jun 9, 2009
I'm trying to capture when a calendar reminder goes off. What I'm trying to do right now is use a BroadcastReceiver and receive an intent from the calendar. Is there an intent that gets broadcast when a calendar reminder goes off? If so what is its name, or where can I find it? Is there a list of all the calendar intents somewhere?
View 3 Replies
View Related
Oct 11, 2010
I'm trying to receive SMS using broadcast receiver. MySMSReceiver :
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
public class MySmsReceiver extends BroadcastReceiver {
/** Tag string for our debug logs */
private static final String TAG = "MySmsReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "Recieved a message");
Bundle extras = intent.getExtras();
if (extras == null)
return;
Object[] pdus = (Object[]) extras.get("pdus");
for (int i = 0; i < pdus.length; i++) {
SmsMessage message = SmsMessage.createFromPdu((byte[]) pdus[i]);
String fromAddress = message.getOriginatingAddress();
String fromDisplayName = fromAddress;
Log.i(TAG, fromAddress);
Log.i(TAG, fromDisplayName);
Log.i(TAG, message.getMessageBody().toString());
break; } } }
and added in Mainfest file
<receiver android:name=".MySmsReceiver" android:enabled="false">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_SMS" />
But when I run this application and send a SMS using emulator it shows following logs in logcat
10-12 00:14:53.082: VERBOSE/Telephony(1032): getOrCreateThreadId uri: content://mms-sms/threadID?recipient=9898989898
10-12 00:14:53.203: VERBOSE/Telephony(1032): getOrCreateThreadId cursor cnt: 1
10-12 00:14:53.432: DEBUG/Mms:app(1032): getSmsNewMessageNotificationInfo: count=4, first addr=9898989898, thread_id=3
10-12 00:14:53.482: WARN/NotificationService(62): STOP command without a player
10-12 00:14:53.562: DEBUG/MediaPlayer(62): Couldn't open file on client side, trying server side
10-12 00:14:53.582: ERROR/MediaPlayerService(34): Couldn't open fd for content://settings/system/notification_sound
10-12 00:14:53.592: ERROR/MediaPlayer(62): Unable to to create media player
10-12 00:14:53.643: WARN/NotificationService(62): error loading sound for content://settings/system/notification_sound
10-12 00:14:53.643: WARN/NotificationService(62): java.io.IOException: setDataSource failed.: status=0x80000000
10-12 00:14:53.643: WARN/NotificationService(62): at android.media.MediaPlayer.setDataSource(Native Method)
10-12 00:14:53.643: WARN/NotificationService(62): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:716)
10-12 00:14:53.643: WARN/NotificationService(62): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:671)
10-12 00:14:53.643: WARN/NotificationService(62): at com.android.server.NotificationPlayer$CreationAndCompletionThread.run(NotificationPlayer.java:8)
View 1 Replies
View Related