Long press on home uses the Intent that was originally used to start the
task.

On Tue, May 17, 2011 at 10:12 AM, Eric <[email protected]> wrote:

>
>
> On May 16, 11:33 pm, Dianne Hackborn <[email protected]> wrote:
> > As I said in another thread, if you want to switch apps you need to use
> the
> > exact same Intent that you used originally to start the task.  If you
> don't,
> > then you are launching a new activity instance for that new Intent.
> >
> > If you want to match what a home screen launches, then you need
> ACTION_MAIN,
> > CATEGORY_LAUNCHER.
>
> I'm doing some more testing, and things are starting to make more
> sense with respect to switching tasks.  My problem was that my IDE is
> launching my application in a slightly different way than the LAUNCHER
> icon does, and I think that's why I'm seeing duplicate Activities on
> my Task stack, instead of the task resuming.
>
> So, what you're saying is, if I want to have multiple tasks within my
> app, and I want to switch back to the MAIN app task programmatically
> from my app, I need to supply the Intent I use with ACTION_MAIN and
> CATEGORY_LAUNCHER flags so that the 'switch' back is to the same task
> that the app launcher started?
>
> What if I want to make sure the same Task is resume in 3 different
> cases:
>
> - app LAUNCHER
> - long-press HOME Task switcher
> - programmatically within my app
>
> It seems I can match my programmatic Task switcher with ACTION_MAIN
> and CATEGORY_LAUNCHER to satisfy the LAUNCHER case, but what about the
> case where the app is resumed via long-press HOME Task swticher?  My
> experience is that you get a completely different Intent there, along
> the lines of:
>
>
>
> 05-17 12:30:43.740: INFO/ActivityManager(101): Starting: Intent
> { flg=0x10100000 cmp=com.mycompany.android.myapp/.MyMainActivity }
> from pid 101
> 05-17 12:30:43.800: INFO/activities.MyMainActivity(2264): onRestart
> (10) -- Intent { flg=0x800000
> cmp=com.mycompany.android.myap/.MyMainActivity }
>
> I'm worried in this case the Intent doesn't match with the LAUNCHER,
> and you'd end up with a separate Task?  In fact, this would affect all
> apps that use both MAIN LAUNCHER icon, and long-press HOME Task
> switcher.  Exactly which item(s) on the Intent are checked when
> determining which Task should be resumed (flags, action, category,
> component, etc)?
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Dianne Hackborn
Android framework engineer
[email protected]

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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to