No you would do this for each activity.  Again, I am suggesting to not use
Application, or if you do use it to make your own version that will work
with whatever code is running in its process.

On Tue, Jul 14, 2009 at 1:46 PM, Ronghui Zhu <[email protected]> wrote:

> Thanks.
>
> 2009/7/15 Dianne Hackborn <[email protected]>
>
>> On Tue, Jul 14, 2009 at 12:59 PM, magicpig <[email protected]> wrote:
>>
>>> Can you provide the APIs to get the ActivityInfo?
>>
>>
>>
>> http://developer.android.com/reference/android/content/pm/PackageManager.html#getActivityInfo%28android.content.ComponentName,%20int%29
>>
>>
> So, in Application#onCreate, I should
> 1. Get PackageManager
> 2. call getActivityInfo 
> (ComponentName<http://developer.android.com/reference/android/content/ComponentName.html>className,
>  int flags)by specifying the className to my activity(I have specify a 
> different
> process name)
> 3. get the processName
>
> But this sounds that we only get the process' name for that Component, not
> the running activity.
>
>
>
>> > really seems like a hack.  Why not have a single Application object,
>>> that
>>>  > allows others to register to receive the callbacks they are interested
>>> in?
>>> It seems that Application class is the first one to run when the
>>> application starts.
>>> Here,I assume that others mean all the components including activities/
>>> services/...
>>> So, would you mind give out an example for it?
>>
>>
>> Just write a single CustomApplication class everyone uses, with a method
>> to add a callback for onLowMemory().
>>
>> For creation, us normal Java stuff:
>>
>> class MyGlobals {
>>   static MyGlobals sGlobals;
>>
>>   static MyGlobals getInstance() {
>>     // Note: use synchronization if this will be accessed from multiple
>> threads.
>>
>>     if (sGlobals != null) return sGlobals;
>>
>>     sGlobals = new MyGlobals();
>>     return sGlobals;
>>   }
>> }
>>
>>
>>
>>>
>>>
>>> Really appreciate the help
>>> >
>>> > (And honestly, you don't need the Application object.  Stuff you do in
>>> > onCreate() you can do the first time someone accesses whatever global
>>> object
>>> > they want...  which can actually be better, to avoid initializing
>>> things
>>> > that you don't need.  And there is also a broadcast that gets sent when
>>> > onLowMemory is called, so you can just register for that.)
>>> >
>>> >
>>> >
>>> > On Tue, Jul 14, 2009 at 11:35 AM, magicpig <[email protected]>
>>> wrote:
>>> > > On Tue, Jul 14, 2009 at 12:12 AM, magicpig <[email protected]>
>>> > > wrote:
>>> >
>>> > >    Thanks Dianne for the quick reply.
>>> >
>>> > >    My two Application.java do some more things than having the
>>> > > statics:
>>> > >     1. own the ability to store current activity for use in all the
>>> > >     activities in the same process. (In the former description, I
>>> just
>>> > >    talked about two for simple).
>>> > >    2. Creating some instances for later use(maybe can be moved to
>>> > >    statics)
>>> >
>>> > >     So, if there is a way for replacing this easily, I am happy to
>>> do.
>>> >
>>> > >    BTW, I think we can read the process name, right?
>>> >
>>> > >    Thanks a again.
>>> >
>>> > > On Jul 15, 1:58 am, magicpig <[email protected]> wrote:
>>> > > > Thanks for the reply.
>>> >
>>> > > > I am trying hard to merge them together and the Application logic
>>> > > > seems a little more than setting the globals, such performing
>>> > > > differently on onLowMemory,  onTerminate and
>>>  onConfigurationChanged.
>>> >
>>> > > > So,is it possible to get the intent that starts the activity or the
>>> > > > different process name in Application#onCreate?
>>> >
>>> > > > Thanks
>>> >
>>> > > > On Jul 14, 2:20 pm, Dianne Hackborn <[email protected]> wrote:
>>> >
>>> > > > > Sorry, you can't do that.  There are really very few reasons to
>>> have a
>>> > > > > custom Application anyway.  I would generally suggest staying
>>> away from
>>> > > it,
>>> > > > > and just using statics for your globals.
>>> >
>>> > > > > On Mon, Jul 13, 2009 at 11:17 PM, magicpig <
>>> [email protected]>
>>> > > wrote:
>>> > > > > > HI,
>>> >
>>> > > > > >      I need  two activities run in different processes in the
>>> same
>>> > > > > > application. Now I have made it work by specifying the
>>> different
>>> > > > > > process name in "android:process".
>>> >
>>> > > > > >        But I met a problem,  from
>>> >
>>> > >
>>> http://developer.android.com/guide/topics/manifest/application-elemen...
>>> > > > > > ,
>>> > > > > > we have only one superclass of Application will run before the
>>> > > > > > activity starts(I have tested it, and each time a after new
>>> processes
>>> > > > > > start, this Application(its superclass) will run before
>>> activity).
>>> > > > > > But, my two activities have two different superclasses of
>>> > > > > > Applications. So, how to make Applications for different
>>> activities
>>> > > > > > run for its corresponding activity?
>>> >
>>> > > > > >       If there is no way to use different Application class for
>>> > > > > > different activity, how can I make a flag for the common
>>> Application
>>> > > > > > superclass to judge which process(by getting its name) is
>>> running?
>>> >
>>> > > > > >      BTW, the two activities were on the separated development
>>> flow
>>> > > > > > and I am trying to merge them.
>>> >
>>> > > > > > Thanks a lot.
>>> >
>>> > > > > --
>>> > > > > 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.
>>> >
>>> > --
>>> > 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.
>>>
>>
>>
>>
>> --
>> 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.
>>
>>
>


-- 
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