Hi,

Does anyone have any updates on this issue? I'm facing the same
problem with my activity when launchMode=singleTask.
 - Launcher -> Activity A (singleTask) -> Activity B (standard)
 - Press HOME
 - Long-press HOME or go to Launcher
 - Activity A (B's onDestroy called)

"adb shell dumpsys activity" shows only Activity A in the stack for
this task. The intent flags are:
Long press HOME - FLAG_ACTIVITY_NEW_TASK,
FLAG_ACTIVITY_BROUGHT_TO_FRONT and FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
Launcher - FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_BROUGHT_TO_FRONT and
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

Any pointers on how to fix this would be helpful.
Thanks!

On Feb 17, 10:41 pm, Dianne Hackborn <hack...@android.com> wrote:
> 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