Activity from a background activity? - android

Am having an application contains activity A,B,C and A is launched from the browser and B is launched from A, a count timer running on A launches an activity C if the timer hits. Could any one plz tell the stack order for the activity of this application. either A->B->C or A->C->B. However now the visible activiy should be C if i press back key from C which should display either A or B ?
Thanks in advance.

You can try to launch B from A and C from A with
startActivityFromChild(this, intentOfC, REQ_CODE_FOR_C);
I'm not sure it may be useful to you.

This order is depends upon the launch mode of your activity

Related

finish() not working properly

In my app, whenever calling the finish() method, wherever it was, I am not taken to the previous activity, rather I am directed to mainActivity.
finish();
My aim is, showing the user the activity just before the current activity he is seeing.
Question 1 : How can I make finish() always take me to the activity before ?
Question 2 : Does this work using another workaround other than finish() ?
Question 3 : How to check the stack of activities and decide accordingly which one to go to ?
If you have written finish in each intermediate activity, that means you are removing the activity from the stack, hence on finishing an activity you are taken to the last non-finished activity, hence write finish() in only that activity which you do not want to see until the same workflow is followed and its onCreate() is called
if you start activity c from b and b from a if you use the back button on your phone at activity c it will go to b and back button press in b it will show a. if you use finish in all the 3 activities what happens is a calls b and a is finished and b calls c and b is finished so when you use finish in c it will not have b to show. so you have to tell where you are placing your finish based on some condition or a button click or just before starting a new activity, post your code and we will help you.

Android - finish activity and exit app

I have an application which consists 3 activities - lets call them A, B & C.
From activity A You can get to activity B, from B to C and from C to A (By pressing the back button).
On activity A I have an exit button (I know it`s not recomandded on android, but a lot of users are asking for it, so I decided to add it).
Anyway the problem is that: activity B has a timer, when the timer is finished it starts an intent that starts activiy C and calls finish() on activity B.
When the user then press back on activity C he gets to activty A - and then when he presses the exit button (this button only preforms finish()), it pops up activity B again. How can I prevent it from happen?
Thanks!
Idea: set a isFinished field in your Application to true and call finish(). All activities check if isFinished in their onResume() and if true they finish().
I'm not sure I understand how you end up at A when going back from C. Shouldn't it go back to B (logically, I mean. I know you want it to go to A)? In fact, that seems to kind of be what's happening. B is getting relaunched, but A appears on top of it, so that when you finish A, B (which was under it) is now shown.
It sounds like you don't want B to be part of the history stack, so maybe when you launch B, you should launch it with the no history flag.
You activity b is not finished thats what i can figure out it is still in running state so when all other actitivties are finished it shows up please chekc if it is finished or not

How do I make a strict sequence of Activities for an Android app?

I have two Activities (A and B). When I quit the app on my device and come back, it starts activity B instead of A. When I press the back button it backs out to the home screen. Any thoughts on how to fix this?
Is it posible that the App is running in the Background after you "killing" it.
In this case the context of the App is saved. It is only in standby.
How is it, when you kill the App with the TAskManager and restart it. Will Activity A appear?
__
Eventually the Problem can be solved if you start Activity B with startActivityForResult.
Activity A ---> startActivityForResult ---> Activity B
When you finish B with resultOK then the next time Activity A must appear.

check the activity run

for example my App have 3 activity main Activity A,and other B ,C,so i want to know if i can know B or C Activity is running,i know how to check Main Activity A using PackageManager. thank you
you can use ActivityManager to get information about running activities.
We can use Toast.maketext to know the Activity B or C is started or not

Moving between activities: killing two previous activities

I'm developing an Android 2.2 application.
I'm very new on Android, and I see that if Iaunch a new Intent from an activity, this activity goes to paused state.
If I want that user can't goes back to this previous activity, what must I do? May I kill this previous activity with finish?
UPDATE
An example:
A, B C and D are activities.
A is the first activity.
A launches B, and B launches C, and C launches D.
I want to close or kill activity B and C when D is launched.
Thanks.
You can use your intent to startActivity like normal and follow the startActivity with
finish();
If you do this on your hypothetical activity B, you can hit the hardware back button in C and it'll take you directly to A.
You might want to rework your design. What if you have A call startActivityForResult(B, 0), and when B would have launched C, instead setResult and finish. Back in A, onActivityResult gets called, with the result you set. You can use that result as a message for A to now start the activity C.
See if that helps - http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP (This and other flags)
And also you must invoke
finish();

Categories

Resources