Subject: [android-developers] Re: Using FLAG_ACTIVITY_CLEAR_TOP, but don't restart target activity?

Subject: [android-developers] Re: Using FLAG_ACTIVITY_CLEAR_TOP, but don't restart target activity?
Ok this does work if you add the following to your activity definition
in the manifest file:

android:launchMode="singleTop"

Thanks

On Nov 21, 8:15 pm, Mark Wyszomierski <mar...@xxxxxxxxx> wrote:
> Hi Mark,
>
> Here's the call:
>
>    intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP |
> Intent.FLAG_ACTIVITY_CLEAR_TOP);
>
> same behavior though, 'B' gets its onCreate() method called. I added
> an override for onNewIntent() just to see if it would be called, but
> it isn't either, I must be missing something simple!
>
> Thanks
>
> On Nov 21, 8:07 pm, Mark Murphy <mmur...@xxxxxxxxxxxxxxx> wrote:
>
>
>
> > Mark Wyszomierski wrote:
> > > Hi,
>
> > > I'd like to use FLAG_ACTIVITY_CLEAR_TOP to launch an activity in my
> > > app. It has one feature I don't want though - it restarts the target
> > > intent, instead of just resuming it. Example history stack, with
> > > activity D making the call to B with that flag:
>
> > >  A  B  C  D
>
> > >  new stack
>
> > >  A  B
>
> > > but 'B' gets relaunched, its onCreate() method is called. Since B is
> > > already in the history stack, is there a way I can use this flag, but
> > > have it *not* recreate B, just onResume() it again? The reordering
> > > flags are kind of what I need too, but they won't pop C and D, just
> > > reshuffle the stack so B comes to the top, but I want C and D to go
> > > away,
>
> > Per the documentation:
>
> > "The currently running instance of activity B in the above example will
> > either receive the new intent you are starting here in its onNewIntent()
> > method, or be itself finished and restarted with the new intent. If it
> > has declared its launch mode to be "multiple" (the default) and you have
> > not set FLAG_ACTIVITY_SINGLE_TOP in the same intent, then it will be
> > finished and re-created; for all other launch modes or if
> > FLAG_ACTIVITY_SINGLE_TOP is set then this Intent will be delivered to
> > the current instance's onNewIntent(). "
>
> >http://developer.android.com/reference/android/content/Intent.html#FL...
>
> > So, try OR'ing FLAG_ACTIVITY_SINGLE_TOP in your Intent that you're using
> > with FLAG_ACTIVITY_CLEAR_TOP, and see if that does the trick.
>
> > --
> > Mark Murphy (a Commons 
> > Guy)http://commonsware.com|http://twitter.com/commonsguy
>
> > Android Consulting/App Development:http://commonsware.com/consulting

你可能感兴趣的:(Subject: [android-developers] Re: Using FLAG_ACTIVITY_CLEAR_TOP, but don't restart target activity?)