Android :: Best Practice On Updating UI From BroadcastReceiver To A Certain Activity?
Jul 18, 2010
When i have a broadcastReceiver say android.intent.action.MEDIA_BUTTON and i want to update the current activity's UI without creating a new activity, is there any good practice on this one?
What i know (might not be correct)
1) I can put the BroadcastReceiver in the same class as the activity and call the updateUI function after certain activity
2) Create a ContentObserver?
3) Communicate to a service created by the activity, use aidl. (I dont know how to get the current service if its registered from an activity)
4) Create a custom filter on the broadcastReceiver located on the same class as the activity, and use context.sendBroadcast(msg of custom filter) and in the custom filter call updateUI (same as one but more generic?)
The final flow is it would come from a BroadcastReceiver and ends up updating the UI without renewing the activity (unless the activity is dead?)
Kindly provide links/source code on your how you tackle this kind of problem.
View 1 Replies
Mar 3, 2010
Does anyone know how I might go about accessing an Activity in an application from a BroadcastReceiver (in the same application)?
(I have some state information in the Activity I'd like to update)
I'm not sure if there is a best practice for it.
View 2 Replies
View Related
Aug 6, 2009
I want to start a project which contains a BroadcastReceiver and an Activity. The BroadcastReceiver doesn't communicate with the activity. But they share a same resource. Can i do it in only one Project (that means, i use only 1 apk to install both BroadcastReceiver and the Activity on my phone), or i have to develope them seperately in 2 projects.
View 3 Replies
View Related
Feb 26, 2009
Is it possible to update a currently running activity from a BroadcastReceiver? I want to update my activity from a BroadcastReceiver that runs alongside it. When I run my app (from Eclipse), my activity starts. When the BroadcastReceiver is triggered, it currently tries to start the activity (with extras in the bundle...this is the important part), but nothing happens, presumably because the activity is already running. So my question is, how do I get the new information to my Activity (or even just tell the activity that there's new information to get if I stick the information in a database)? This seems like it should be fairly straightforward, but I'm clearly missing something.
View 3 Replies
View Related
Jun 22, 2010
I am wondering whether is possible to use a BroadcastReceiver to listen for an Activity being launched. I have no control of the Activity I need to know about as it is from the Android platform.
View 3 Replies
View Related
Oct 28, 2010
While developing an alarm based application, i have stuck in a scenario.
When my alarm is fired, i can receive the event in BroadCastReceiver::onReceive().
Within this function, i want to notify/call a function, which is located on MainActivity.
How to achieve the same?
View 1 Replies
View Related
Mar 19, 2009
I've developed an application that receives a Broadcast and then launches an Activity, where that Activity queries a ContentProvider which pulls information out of the DNS in real-time.
I'd like to be able to shuffle this so that instead of going:
CODE:.......
It goes:
CODE:.......
i.e. if the query() returns no data I want to miss out launching the activity, and allow the Broadcast message to fall through as normal.
If the query() does return data, I want that Cursor to be supplied to the Activity, so that I don't have to go and query for the data again.
In turn, the Activity has its own UI which the user needs to respond to.
View 2 Replies
View Related
Aug 18, 2010
I have 2 Activities that need to communicate with each other: ActivityA and ActivityB
Say that ActivityA opens ActivityB. How do I unicast a message from ActivityB to ActivityA without closing ActivityB?
Here's what I tried: setResult() - but the intent will be delivered only when ActivityB closes sendBroadcast() - but this sends the intent to everyone listening to the action.
I only want the action to reach ActivityA since it spawned ActivityB.
I tried having ActivityA registering a BroadCast receiver, but I cannot target that via Intent's SetComponentName(). startActivity() - this brings up ActivityA, which I don't want.
View 1 Replies
View Related
Feb 17, 2010
Maybe it's easy, but I couldn't really figure this out right so far... I got a BroadcastReceiver waiting to get triggered by the AlarmMangager - this works fine.
Now: because the event, if it occurs, needs to refresh some elements on screen of the main Activity, I would like to send an Intent from that background BroadcastReceiver to my Activity - but only if it is currently in the foreground, aka active.
If it is not running or not visible, I don't care - and the last thing I want to do is start the Activity by my intent! I handle repainting of the views in my onResume method, so I don't care at all.
EDIT: my BroadcastReceiver is waiting for alarms that must be notified to the user. So, it must be there and declared in the manifest. The problem is: it will have to decide whether the mentioned Activity is currently up in front or not.
View 3 Replies
View Related
Sep 7, 2010
I'm developing alarm application. I'm using listview on activity to reserve alarm. after application finish BroadcastReceiver.onReceive() method, I want to remove check of list. But i dont know how to access to activity.
View 1 Replies
View Related
Apr 11, 2010
I've got an Android application which needs to be woken up sporadically throughout the day.To do this, I'm using the AlarmManager to set up a PendingIntent and have this trigger a BroadcastReceiver. This BroadcastReceiver then starts an Activity to bring the UI to the foreground.All of the above seems to work, in that the Activity launches itself correctly; but I'd like the BroadcastReceiver to notify the Activity that it was started by the alarm (as opposed to being started by the user). To do this I'm trying, from the onReceive() method of the BroadcastReceiver to set a variable in the extras bundle of the intent,Can anyone tell me what's different about passing a bundle from a BroadcastReceiver to an Activity, as opposed to passing the bundle from an Activity to a BroadcastReceiver?
View 2 Replies
View Related
Feb 3, 2009
I am trying to get a UI to present itself when an incoming SMS happens. When that happens, I would like to present a UI to the user.
I have a BroadcastReceiver class that listens to the SMS_RECEIVED event. I also have an Activity class that is capable of displaying the needed UI when the event happens.
The questions is: How do I start the activity from within the onReceive method of BroadcastReceiver?
I know others have done this but I can't seem to find any resources that illustrates how.
View 3 Replies
View Related
Aug 24, 2010
I have a service which collect data and send them to a certain URL and updating the main activity GUI, so which is better in the performance to use a long service with listeners to collect the data and threads in it to update the GUI and sends to the internet or to make another service responsible for updating the GUI and sending to the URL only while the first one just collects the data?
View 5 Replies
View Related
Apr 2, 2010
I've implemented a service that does an asynchronous sync between my application and google docs. I want to update the top level activity of my application when the sync is complete. However because of the service it's possible that the app could be be in a unknown state. Is there a way to make the top level activity, whatever that may be, recreate itself from an asynchtask in a service.
View 3 Replies
View Related
May 4, 2010
I have a tab widget where one of the tabs is a chat-type feature. I want to update the chat data at an interval (variable depending on whether the chat tab is active or not).
The best approach seemed to be using an AsyncTask in my main TabActivity class, as that would avoid any issues of the chat activity being destroyed while in the background, while an AsyncTask was running. I wanted to ensure that the Activity isn't destroyed and recreated, thus causing my AsyncTask to be unable to modify the actual active Activity's data.
However, now that my AsyncTask is in the TabActivity activity, I don't have a direct way to call my Chat's ListAdapter notifyDataSetChanged() from my onPostExecute() method anymore. Is there a way to get a reference to a given Tab's current Activity from the TabHost/TabActivity?
Or, alternatively, can I assume my chat activity will never be destroyed as a child activity of the TabActivity activity (well, never destroyed while the TabActivity is active at least), and then just put the AsyncTask in the Chat Activity?
View 2 Replies
View Related
Aug 2, 2010
I have a sizable install base already on some apps with Android 1.5 set as the minimum version. I want to update the apps to take advantage of some of the newer features offered in Android 2.0 and greater. What is the best way forward so I don't break things for my current 1.5 and 1.6 users?
If I simply update the application with a new min SDK version, will 1.5 and 1.6 users be prompted to uninstall? Or will they just not see the update? What about future development that I want to apply for everyone, say a bugfix. Will I have painted myself into a corner? Another solution would be to fork and create a new app for 2.0 users, but that is undesirable for several reasons.
View 3 Replies
View Related
Jun 23, 2010
I have had my Desire no for almost 2 months, and like most I have tried installing and uninstalling many apps, to see what I like.Due to doing a factory reset on my phone yesterday I have layered back all the apps I was using and have noticed that I have used considerably less memory than before, making me very suspicious of the uninstall method used within the market place.Does it leave behind pieces of the app, and if so what's the cleanest method of uninstalling apps.
View 7 Replies
View Related
Dec 4, 2009
I've been scouring the web looking for information on setting up a peer-to-peer connection between Android handsets and so far have drawn a blank. The only thing I can definitively seem to work out is that it was made a whole lot more difficult when XMPP was removed from 1.0. Apart from that, I find a couple of threads on an OpenIntents board about porting an XMPP implementation to Android that were last posted nearly 2 years ago. Has anybody solved this problem effectively? What's the best way of doing it (from a games point of view)?
View 7 Replies
View Related
Sep 17, 2009
I'm writing an application where real-time knowledge of the GPS state is critical to convey to the user. I request GPS updates at 1000 ms intervals -- when I haven't received another update 1500 ms past the most recent update, I want to display a yellow icon, and 5000 ms after the most recent update I want to display a red icon. Currently, I'm doing it like this: private CountDownTimer gpstimeout; public void onLocationChanged(Location location) { if (gpstimeout != null) gpstimeout.cancel(); gpstimeout = new CountDownTimer(5000, 1500) { public void onTick(long m) { setYellow(); } public void onFinish() { setRed(); } }; gpstimeout.start(); }
View 3 Replies
View Related
Mar 22, 2010
What is considered "best practice" when executing queries on a SQLite db within an Android app? Is it safe to run inserts, deletes and select queries from an AsyncTask's doInBackground ? Or should I use the UI Thread? I suppose that db queries can be "heavy" and should not use the UI thread as it can lock up the app - resulting in an ANR. If I have several AsyncTasks, should they share a connection or should they open a connection each?
View 3 Replies
View Related
Sep 29, 2010
I'm new to developing Android applications, and have only a little experience with Java in school. I was redirected to StackOverflow from the Google groups page when I was looking for the Android Beginners group. I have a question about what is best practice to pull content from a web source and parse it. Firstly, I would eventually like to have my application threaded (by use of Handler?), however, my issue now is that the class I have created (Server) to connect and fetch content often fails to retrieve the content, which causes my JSON parser class (JSONParser) to fail, and my View to display nothing. After navigating to the previous Activity, and attempting to call the connect(), fetch(), and parse() methods on the same remote URI, it will work. Why does this (sometimes retrieve the remote data) happen sometimes, but not always? What is the best practice, including the use of ProgressDialog and the internal Handler class, to make my application seemless to the user. Is this the best place to ask this question?
View 1 Replies
View Related
Sep 22, 2009
I am creating a database driven app for managing people. I am showing a list of people with each name in a TextView. When a TextView is clicked, I launch a new intent to show the detail for the person. My question: What's the best practices for passing the id of the person to the new intent? The TextView is displaying the name of the person, so how do I know the id of the person? Once I know the id, I know how to pass it to the new intent, but I don't know what the best way to associate the id of the person to the TextView. Is there a best practice for this?
View 2 Replies
View Related
Aug 16, 2010
In general, I'm very impressed with Android's default text to speech engine (i.e., com.svox.pico). As expected, it mispronounces some words (as do I) and it therefore occasionally needs some pronunciation guidance. So I'm wondering about best practices for phonetically spelling out those words that the pico TTS engine mispronounces. For example, the correct pronunciation of the bird Chachalaca is CHAH-chah-LAH-kah. Here is what the TTS engine produces: mTts.speak("Chachalaca", TextToSpeech.QUEUE_ADD, null); // output: chuh-KAL-uh-KUH mTts.speak("CHAH-chah-LAH-kah", TextToSpeech.QUEUE_ADD, null); // output: CHAH-chah-EL-AY-AYCH-dash-kuh mTts.speak("CHAHchahLAHkah", TextToSpeech.QUEUE_ADD, null); // output: CHA-chah-LAH-ka mTts.speak("CHAH chah LOCKah", TextToSpeech.QUEUE_ADD, null); // output: CHAH-chah-LAH-kah Here are my questions. Is there a standard phonetic spelling recognized by the Android TTS engine? If not, are there some general rules for making custom pronunciation spellings that will make the spellings more likely to be correct in future TTS engines/versions? It appears that the Android TTS engine ignores text case. What is the best way to specify emphasis?
View 2 Replies
View Related
Jul 24, 2010
Anyone having trouble with widgets stop updating? Like my clock/calendar/weather/news/pretty much any widget i have stops updating after an hour. So i look at my clock widget two hours later and it is an hour behind. Happens to ALL my widgets.Even the quick turn on/off wifi,bt,gps and such. They just stop updating/showing animation.I have ADW launcher installed. I am wondering if it is that. I do not really want to remove it as i hate the stock 3 button interface at the bottom (why do i need a contacts and phone, just use the phone to look thru contacts, wasted space IMO) and am quite keen on keeping the 5 button.Any ideas? If i power off the phone and turn it back on it's fine again for about an hour. SOmetimes randomly thru the day it will start updating and working fine again then randomly stop again.
View 12 Replies
View Related
Mar 5, 2010
I am writing my own sms receiver app and i want it to catch all the sms using a broadcast receiver. This on its own, is no problem, but i want to be able to stop the message being passed to the messaging app.
View 2 Replies
View Related
Apr 8, 2010
I am still learning bu find Android the cool platform for allot of useful applications. I have written a Service for doing GPS tracking and it consists of a Service and a Control activity to manage, monitor and configure the service. I am looking for the preferred way for the Control Activity to define settings for the Service, things like IP address and Update interval. I envision something like a Registry on windows where these settings can be shares and updated.
View 9 Replies
View Related
Jun 16, 2009
I am quite new to Android and Java. Before I was working with C++ where the events where dispatched with messages. Now I would like to create the same user experience for Android platform and I would appreciate any of your suggestions or comments on what is the best way to bind events to user controls.
Here is an example from C++:
ON_MESSAGE(WM_RECORD_START, &CMainFrame::OnRecordStart)//Method OnRecordStarts() executes on WM_RECORD_START_MESSAGE...................
View 2 Replies
View Related
Oct 6, 2010
Some of my app's preferences could use some more explanation than the scarce space available for the summary. Sadly, there doesn't seem to be support from the system, like an optional help button that shows a longer text. How do you solve this problem? The first thing that comes to mind is an additional custom "preference" like "more information to above entry" that opens an AlertDialog with the help text, but that's not really nice for both user (two entries for the same preference) and the developer (manual work to do in Preference Activity). A bit nicer for the user, but way more work for the developer would be custom dialogs for each preference with more text and/or a help button. Is there a better solution or even an officially recommended best practice?
View 7 Replies
View Related
Apr 19, 2009
What is the best way to release two versions of an application? E.g. a free version with limited features, and a paid version with the full feature set. #ifdef would be the ideal way to do this, but Java doesn't support it. Could I do something like: try {import com.foo.myapplication.ExtraFeatures; } catch (Exception e) { // ignore it, this must be the free version}? I could manage with this kind of construct, although #ifdef really would be ideal.
View 10 Replies
View Related
Jul 29, 2009
I didn't use much Java before Android so my knowledge concerning the gc is marginal. Now I'm developing a highly physics-based game and therefore I need to do many calculations each time step and many (25) time steps per second. At the moment I'm almost only using local objects (float) in my methods, so I guess they are allocated every time the method is called (which might be, for example, 25*100 = 2500 times a second , for 100 objects with calculations on them). This causes massive activity of the garbage collector like freeing ~10000 objects every 1-2 seconds (taking ~200ms on a real device). Now I really want to optimize that because even there's no noticeable delay due to the GC (and the frame rate is constant), this seems just not well. But I read on many documentations concerning Java optimization, that there is not much to optimize in modern versions of (desktop) Java, because the GC is fast enough. Does this apply to Android, too? Does the compiler optimize anything like frequently, steady allocated objects (like floats)? What would be best practice: keep all local objects and allocate and free them all the time or use class-global objects, even if they are only used inside one particular method (which is bad programming style but conserves GC?
View 5 Replies
View Related