Android :: AsyncTask Won't Stop Even When Activity Has Destroyed
Mar 27, 2010
I have an AsyncTask object which starts executing when the activity is created and does stuff in the background (downloads upto 100 images). Everything works fine but there is this peculiar behavior which i'm not able to understand.For eg: when the android screen's orientation changes then the activity is destroyed and created again. So I override the onRetainNonConfigurationInstance() method and save all the downloaded data executed in the AsyncTask. My purpose of doing this is to not have AsyncTask run each time activity is destroyed-created during orientation changes, but as i can see in my logs the previous AsynTask is still executing. (The data is saved correctly though)I even tried to cancel the AsynTask in the onDestroy() method of the activity but the logs still show AsynTask as running.This is really strange behavior and would really be thankful if someone can tell me the correct procedure to stop/cancel the AsynTask.
View 1 Replies
Jul 28, 2010
I'm trying to figure out the correct way to create an AsyncTask to retrieve some data from the internet and then to take that data and bundle it up in an Intent and pass it to a new activity(A list display). So in the first activity I just have an EditText and Button. In the event of an OnClick the task should be called and when it is finished the data should be bundled inside an Intent and passed to the next Activity. The problem is when I take the results from onPostExecute and set them to an instance variable of the main activity, that instance variable is still null when the task is complete. Here is the barebones version of the code:
CODE:...........
When I debug the application I see onPostExecute does contain a valid PlacesList full of results, so why is the instance variable places set to null after the task is executed? I am going about "returning data" from an AsyncTask incorrectly?
View 1 Replies
View Related
Sep 24, 2009
I press program's icon to start my program,and then open the Settings activity through startActivityForResult(intent, SETTINGS). Now i press the home key and start my program through program's icon, at this time the Settings actitity will run OnDestroy() and be destroyed. I can't understand why Settings activity is be destroyed automatically? How can I make Settings activity still focus when users come back. Code...
View 7 Replies
View Related
Sep 19, 2010
Being an Android newbie experimenting with GPS stuff I managed to put together this code and it works just like I expect it to except for one thing, the GPS icon never goes away. How can get the GPS icon to disappear when the activity is destroyed? I have code...
in my onPause() but apparently that's not enough?
The problem exists in the emulator and also on my HTC EVO with 2.2. On my EVO, the icon stays there when the activity is destroyed and only disappears when I uninstall the app. code...
View 1 Replies
View Related
Apr 18, 2010
I have tried to freeze orientation: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
But thought screen stays in portrait orientation, the activity is still recreated.
View 1 Replies
View Related
Jun 30, 2010
I want to do some cleanup in a view when the activity is being destroyed. Is there any way to get a callback in the View when the activity is being destroyed? I tried using onDetachedFromWindow, but I'm not sure whether it is correct thing to do.
View 1 Replies
View Related
Nov 19, 2010
I wrote an android program that: has a main activity for UI, and it starts a service. The service timely callbacks the UI activity to update views. It works fine except: if the activity is closed (with BACK) and start again, the service will also be started again (The service plays audio file, so there are two overlapped sounds). I use bindService with BIND_AUTO_CREATE flag to start and connect to service. According to the document, it should create service only if it doesn't exist, but obviously it starts another instance when opened second time. All I want is when the activity is closed, the service goes on running, and when the activity opens again, it can reconnect to the service. Is that possible? Or I just misunderstand the usage of service?
View 1 Replies
View Related
Mar 19, 2009
When another activity is started from main activity, The main activity get destroyed and created when returned back from second Activity main activity remains in pause state till second activity finish (), on Sart or on Resume from when returned back from second activity? which one these case does happen in And roid application?
View 3 Replies
View Related
Nov 9, 2010
I need to develop an application with downloads the data at the background and update about the progress in the front.
I guess this can be achieved using services and activity and passing data in between the. But, what I need to do is even if I hit back button and then start the activity again. It should check if the service is running or not. If service is not running it should start one else it should display the data from running service.
Something like music player where music is played by a service at a background and activity displays the information. Even on browsing through other activities of the application or hitting back, state of the music player is maintained.
View 1 Replies
View Related
Jun 26, 2010
I have a service, that requests another class, which launches an AsyncTask
Service->Weather Class->Execute Method->Asynctask->Execute
this is launched in the service by
new Weather(this).execute(); // the execute is a method of the class, not of the AsyncTask
how do I detect in Service that the AsyncTask finished so I can call stopSelf?
View 1 Replies
View Related
Aug 9, 2010
I know this is not how an async task should behave but my question is how to "block" the user while executing it.My need is the following: I have my own backup/restore process and I have an async task to run these two actions. The backup is fine, I can warn the user when the backup is done and that's just fine But my problem is about the restore process. When the user click on restore he shouldn't be able to make any change in the application (and anyway don't want to because he would lose all his changes).I understand that having the user blocked while restoring (or maybe with a progress bar) is not a best pratice but I do not see any other possibility in this context.
View 7 Replies
View Related
Feb 18, 2010
private class ExecuteLocations extends AsyncTask<String, Void, Void>{
private final ProgressDialog dialog = new ProgressDialog(ListProfiles.this);
protected void onPreExecute() {
//this.dialog.setMessage("Starting pre-execute...");
//this.dialog.show();
} @Override protected Void doInBackground(String... arg0) {
check_profiles_lm=(LocationManager) ListProfiles.this.getSystemService(LOCATION_SERVICE);
myLocListen = new LocationListener(){
@Override public void onLocationChanged(Location location) { HashMap params = new HashMap();
params.put("lat", Double.toString(location.getLatitude()));
params.put("long", Double.toString(location.getLongitude()));
postData("http://mydomain.com",params);
} @Override public void onStatusChanged(String provider, int status,Bundle extras) {
} @Override public void onProviderDisabled(String provider) {
} @Override public void onProviderEnabled(String provider) {
} };
check_profiles_lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 30000, 0, myLocListen);
return null; } protected void onPostExecute(final Void unused) {
if (this.dialog.isShowing()) { //this.dialog.dismiss();
} //Do something else here
} }
Basically, my objective is:
Constantly post the latitude/longitude to my website every minute or so. Of course, I want to do this in another thread, so it doesn't mess up my UI thread. This AsyncTask is supposed to solve that but it's bringing up an error and I don't know why. What can you do to accomplish my objective? It's very simple...just scan location and post to web every minute, in the background. By the way, my onCreate method is like this. That's basically it.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new ExecuteLocations().execute();
setContentView(R.layout.main_list);
}
View 2 Replies
View Related
Apr 28, 2010
What happens on Activity.finish() with an AsyncTask still running in background?
Does it just pop the Activity off the Activity Stack, but wait to destroy the Activity object until the AsyncTask fully completes (since the AsyncTask is an inner class of my Activity)?
Also, would it act any differently if the AsyncTask were a public, non-inner class that held no references to the instance of the Activity?
View 1 Replies
View Related
Jul 24, 2010
I have an AsyncTask that scans the file system and publishes progress through Notifications. To do this I need a reference to the current Activity in the AsyncTask.
I also don't want to kill the task when the activity is destroyed. How do I avoid leaking the activity and everything it references on each configuration change?
One possibility is to remove the reference in OnPause() to be sure it is gone when the Activity is destroyed, but that would mean notifications stops coming as soon as you leave the activity which is no good.
Isn't there a recommended way of dealing with AsyncTasks in this way?
View 12 Replies
View Related
Sep 10, 2010
I am using an AsyncTask to fetch the ring tone for a contact when my application starts, it works fine until after my Activity closes a couple of times during the AsyncTask, after this happens the AsyncTask will only ever get to onPreExecute() and never doInBackground, so I can never fetch the ringtone then until either a force stop or device restart.
Why this might be happening? Why the AsyncTask would get to onPreExecute but then never run doInBackground()?
Here is my code: (Following the Shelves source code)
CODE:.....................
And onAddRingtone() is used in onCreate and onCancelRingTone() is used in onDestroy() as well as where you can see if in the code above. I have spent 3 days on this and I haven't been able to find a solution? Am I taking the wrong approach? Using cancel wrong? Is there a bug?
View 1 Replies
View Related
Nov 3, 2009
I've got a tab host activity started from a home screen shortcut. When my application starts it downloads information from a server using an AsyncTask. In the onPostExecute method of the AsyncTask I call setContentView to display the TabHost.When I start the homescreen shortcut by tapping on the shortcut using my finger everything works as expected, I download the information from the server and display the TabHost with the information in the tabs. However starting the application by navigating to the shortcut with the mouse wheel and then clicking on the shortcut with the mouse wheel leads to a trap in the framework code as soon as my application starts. This looks like a simple fix since mCurrentView is null at the time that this method is called - can this issue be addressed? Does anyone know of any workarounds?
View 5 Replies
View Related
Feb 16, 2009
I have one Activity, that starts one Service and my service will lunch one Activity, i wanna to stop the Activity which one started my my Service after few seconds. Is there any way to achieve. Has anyone experienced this type of scenario.
View 5 Replies
View Related
Mar 19, 2010
My application contains three-four pages.On click of button in first page,I start a new activity which redirects to another page and second page redirects to third page and so on.Now I want to include one button which On click will redirect to first page by stopping all activities. So how to achieve that?
View 5 Replies
View Related
Aug 3, 2010
I want dont want the activity animation that comes by default when we start a new activity (i.e. the right to left scrolling effect to new activity view) so i googled a bit and found a flag FLAG_ACTIVITY_NO_ANIMATION in the Intent class also i applied that flag to my intent via the setflags() method but somehow i still see the activity animation when a new actvity is launced ( i am developing in android 2.1 update).
View 6 Replies
View Related
Dec 9, 2009
My problem is: Activity A called Activity B, and in Activity B, it start a background thread to do some client-server work. But it maybe takes too much time. So i add a cancel button to call the stop() method to stop the thread, and call finish() to finish the Activity B and go back to Activity A. Although it is back to Activity A, the thread isn't stop immediately. Can i just call the finish() to go back to Activity A, and leave the thread to exit by itself? If it is not the right way, which is?
View 10 Replies
View Related
Feb 10, 2009
I have an Activity which gives me the following stack trace error and it looks to be out of my control (I could be wrong though as I'm a newb to Android).Can anyone point me in the right direction? (It happened when I clicked on the back button)
View 2 Replies
View Related
Aug 12, 2010
I have a START and STOP button in the main screen of an App. there are some GUI and threads that are instantiated when I click on START. When I click on stop, I want everything to be stopped and the activity should come back to its origin state. To the state that is exactly same like when launched (when we tapped on App icon in mobile).Is it possible to do this? I tried with finish() , this killed the app and exited . I don't want to exit from main screen. rather, on clicking STOP I want app to come back to origin or born state.
View 2 Replies
View Related
Dec 7, 2009
I would like to know if there is a way to stop activity destruction upon physical keyboard slide in/out event.
View 4 Replies
View Related
Sep 21, 2010
1. press home key to stop my AP (activity change to stop , not destroy )
2. use "CountDownTimer" for sleep 3 secs , when timer finish use sendBroadcast() to call my BroadcastReceiver
3. finally , BroadcastReceiver use intent to start my AP (activity change to start).
View 3 Replies
View Related
Aug 12, 2010
Currently working on a simple app to allow users to find various things around them. When the activity that shows the Google map is active I can see the GPS icon on the status bar, which is normal. But I need to be able to stop the GPS hardware when my user navigates away from the activity, and switch the GPS back on when the activity is shown.
Is there a simple way to stop GPS when a user navigate away from an activity? I have tried the LocationManager's removeUpdates() but this doesn't actually stop the GPS (the icon is still flashing on the status bar and draining the battery).
What I'm looking for is a simple way to programatically stop the GPS hardware.
View 2 Replies
View Related
Feb 16, 2010
Can anyone tell me how to stop media player that was started in a previous activity?For ex. In activity-1 button pressed that did - mp.start(); then activity-2 starts for different layout with new buttons, then when button pressed, mp.stop is called, but does not stop the media from the first activity.
View 4 Replies
View Related
Sep 2, 2010
I have an application that must create a database and if that fails, then no sense moving forward. I've built an AlertDialog and show() it but it never displays. The logic falls through and then barfs because of the missing database.What is the right/best way to throw up a message and halt the activity? The code below executes fine (meaning the show() occurs while debugging and it falls to the next line) but the UI never displays this alert.BTW I realize the throw might not be the most graceful but I'm not even getting that far so.
View 2 Replies
View Related
Apr 17, 2010
In Android, I have some code to check whether the user has GPS switched on, and launch the Settings for them to turn it on if they don't.However, I'm finding that if the user opens the Settings, turns GPS on, then carries on using the app as normal, there is an odd problem. Often, when the user reopens the app, the Settings are at the front. How can I set them so they don't keep reappearing?I wonder if I should be using the CLEAR_TOP flag or something similar.I've tried looking at the docs for the Activity flags but find them a bit confusing.
View 1 Replies
View Related
Oct 11, 2009
I have started dialer activity with code
Intent myIntent = new Intent(Intent.ACTION_CALL, Uri.parse(createTelUrl("1234567"))); startActivityForResult(myIntent);
Is there a way to stop the dialer activity from same code.? Logically it should be possible as i started it and i should have rights to stop it as well.
View 5 Replies
View Related
Nov 10, 2010
I have a Timer which executes a TimerTask every 30 seconds. I only want the timer to launch a new TimerTask if the Activity is displayed i.e. if the user receives a phone call or launches a new activity the Timer will stop. I then need the Timer to restart when the Activity is re-launched and comes into focus.
Now this should be easy, I override the "onWindowFocusChanged(boolean hasFocus)" method and either start or stop the timer depending on the value of has Focus. The way I start the timer is to create a new Timer object and TimerTask each time and the way I stop the Timer is to call the cancel() method on the Timer object and set timer to null.
My problem is this doesn't always work, if I launch the activity which has the Timer and switch orientations quickly (to start/stop the Activity) I find the Timer is not always canceled and I end up with multiple Timers launching TimerTasks at an ever increasing rate.
View 2 Replies
View Related