When you say "launch" do you mean launching from Eclipse?  If so, there is a
bug in older SDKs where this would use the wrong intent so when you later
launch it from the launcher you would get a new task.

You can use "adb shell dumpsys activity" to see the current state of the
activity stack at whatever point you want to help diagnose what is going on.

On Thu, Mar 26, 2009 at 8:55 AM, jseghers <jsegh...@cequint.com> wrote:

>
> The code that starts the .About activity is:
>    protected void startAbout()
>    {
>        Intent aIntent = new Intent(this, About.class);
>        startActivity(aIntent);
>    }
>
> The Manifest entries for .UserLaunch and .About are in my original
> post.
> The intent that returns the task to the front is generated by the
> Launcher.
>
> What flags do I need to set (and where) to prevent this from
> happening? Is one of the default values causing it?
>
> My test case here is:
> 1) launch .UserLaunch from the launcher
> 2) start .About
> 3) hit Home key
> 4) launch .UserLuanch from the launcher
>
> There are no long delays in any of this, so the 30 minute auto-clear
> should not be invoked.
>
> - John
>
>
> On Mar 25, 12:15 pm, Dianne Hackborn <hack...@android.com> wrote:
> > That means you are using some CLEAR_TOP or finish flag in an intent or in
> > the manifest.  Or possibly it has been > 30 minutes since the app was
> last
> > launched, in which case the system will restart it automatically.
> >
> >
> >
> >
> >
> > On Wed, Mar 25, 2009 at 11:12 AM, jseghers <jsegh...@cequint.com> wrote:
> >
> > > Thank you for your reply!
> >
> > > I am seeing am_task_to_front followed by am_finish_activity.
> > > I found the event-log-tags file and apparently the reason is "clear".
> > > What is not clear to me though is why the activity manager thinks it
> > > should clear the the task.
> >
> > > The relevant lines of the log are:
> > > I/am_on_resume_called(   94): com.android.launcher.Launcher
> > > I/dvm_gc_info(   94):
> > > [7017575181485176104,-9053780441931634733,-4010030953047537782,8554533]
> > > I/force_gc(  209): bg
> > > I/dvm_gc_info(  209):
> > > [7163384747111232651,-9098816781953771608,-4017912252395432053,7919391]
> > > I/am_pause_activity(   52):
> > > [1128800640,com.android.launcher/.Launcher]
> > > I/am_task_to_front(   52): 3
> > > I/am_finish_activity(   52):
> > > [1129575992,3,com.cequint.cityid/.About,clear]
> > > I/am_destroy_activity(   52): [1129575992,3,com.cequint.cityid/.About]
> > > I/am_new_intent(   52):
> > >
> [1129518888,3,com.cequint.cityid/.UserLaunch,android.intent.action.MAIN,,,
> > > 274726912]
> > > I/am_on_paused_called(   94): com.android.launcher.Launcher
> > > I/am_resume_activity(   52):
> > > [1129749080,3,com.cequint.cityid/.UserLaunch]
> > > I/am_on_resume_called(  209): com.cequint.cityid.UserLaunch
> > > I/dvm_gc_madvise_info(   94): [290816,245760]
> > > I/dvm_gc_madvise_info(  209): [352256,241664]
> > > I/force_gc(   94): bg
> >
> > > - John
> > > On Mar 25, 10:16 am, Dianne Hackborn <hack...@android.com> wrote:
> > > > You can do "adb logcat -b events" to see the event log which will
> include
> > > a
> > > > line the activity manager prints when finishing an activity, with the
> > > reason
> > > > why it is doing it.
> >
> > > > On Tue, Mar 24, 2009 at 7:24 PM, jseghers <jsegh...@cequint.com>
> wrote:
> >
> > > > > I am just starting on an Android app and I am puzzled about why my
> > > > > Task activity stack is being reset any time the application is
> > > > > launched from the Home screen.
> >
> > > > > I used the ADT tools to create the application in Eclipse.
> > > > > The main activity is ".UserLaunch" and it starts the activity
> ".About"
> > > > > when the user presses a button.
> > > > > If the user then presses HOME and then relaunches the app,
> .UserLaunch
> > > > > is displayed and is the only thing on the stack.
> >
> > > > > .UserLaunch has the launchMode singleTask. .About is standard.
> > > > > According to the documentation at
> > > > >http://developer.android.com/guide/topics/fundamentals.html#lmodes:
> >
> > > > >    "However, a "singleTask" activity may or may not have other
> > > > > activities above it in the stack. If it does, it is not in position
> to
> > > > > handle the intent, and the intent is dropped. (Even though the
> intent
> > > > > is dropped, its arrival would have caused the task to come to the
> > > > > foreground, where it would remain.) "
> >
> > > > > The Task stack should be brought to the foreground and .About
> should
> > > > > still be displayed.
> >
> > > > > I added Logging to all of the lifecycle events (edited to remove
> > > > > timestamps and shorten DEBUG/ and INFO/ to D/ and I/) and you can
> see
> > > > > that when HOME is pressed, .About cycles through onPause and onStop
> > > > > (as expected).  Then when the app is again launched, .About is
> > > > > destroyed and .UserLaunch is restarted
> >
> > > > > D/UserLaunch:(670): onCreate()
> > > > > D/UserLaunch:(670): onStart()
> > > > > D/UserLaunch:(670): onResume()
> > > > > I/ActivityManager(52): Displayed activity
> > > > > com.cequint.cityid/.UserLaunch: 4910 ms
> > > > > I/ActivityManager(52): Starting activity: Intent { comp=
> > > > > {com.cequint.cityid/com.cequint.cityid.About} }
> > > > > D/UserLaunch:(670): onPause()
> > > > > D/About(670): onCreate()
> > > > > D/About(670): onStart()
> > > > > D/About(670): onResume()
> > > > > I/ActivityManager(52): Displayed activity
> com.cequint.cityid/.About:
> > > > > 1031 ms
> > > > > D/UserLaunch:(670): onStop()
> > > > > I/ActivityManager(52): Starting activity: Intent
> > > > > { action=android.intent.action.MAIN categories=
> > > > > {android.intent.category.HOME} flags=0x10200000 comp=
> > > > > {com.android.launcher/com.android.launcher.Launcher} }
> > > > > D/About(670): onPause()
> > > > > D/About(670): onStop()
> > > > > D/dalvikvm(670): GC freed 413 objects / 34128 bytes in 72ms
> > > > > I/ActivityManager(52): Starting activity: Intent
> > > > > { action=android.intent.action.MAIN categories=
> > > > > {android.intent.category.LAUNCHER} flags=0x10200000 comp=
> > > > > {com.cequint.cityid/com.cequint.cityid.UserLaunch} }
> > > > > D/About(670): onDestroy()
> > > > > D/UserLaunch:(670): onRestart()
> > > > > D/UserLaunch:(670): onStart()
> > > > > D/UserLaunch:(670): onResume()
> >
> > > > > Here is the relevant section of the Manifest:
> >
> > > > > <application android:icon="@drawable/icon" android:label="@string/
> > > > > app_name">
> > > > >  <activity android:name=".UserLaunch"
> android:label="@string/app_name"
> > > > > android:launchMode="singleTask" >
> > > > >  <intent-filter>
> > > > >   <action android:name="android.intent.action.MAIN" />
> > > > >   <category android:name="android.intent.category.LAUNCHER" />
> > > > >  </intent-filter>
> > > > >  </activity>
> > > > >  <activity android:name=".About" android:launchMode="standard">
> > > > >  </activity>
> > > > > </application>
> >
> > > > > Anyone have any ideas why this is always resetting the Activity
> Stack?
> >
> > > > --
> > > > Dianne Hackborn
> > > > Android framework engineer
> > > > hack...@android.com
> >
> > > > Note: please don't send private questions to me, as I don't have time
> to
> > > > provide private support.  All such questions should be posted on
> public
> > > > forums, where I and others can see and answer them.- Hide quoted text
> -
> >
> > > > - Show quoted text -
> >
> > --
> > Dianne Hackborn
> > Android framework engineer
> > hack...@android.com
> >
> > Note: please don't send private questions to me, as I don't have time to
> > provide private support.  All such questions should be posted on public
> > forums, where I and others can see and answer them.- Hide quoted text -
> >
> > - Show quoted text -
> --~--~---------~--~----~------------~-------~--~----~
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers-unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
> -~----------~----~----~----~------~----~------~--~---
>
>


-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to