why not just check the current pid state of the app rather than doing all those things......
On Fri, Aug 29, 2014 at 11:25 AM, Omkar <[email protected]> wrote: > Hi All, > I am working on a App where functionality is when ever User goes out of > the app and comes back it should ask him login details, so when ever user > kicks himself out of app, by pressing home button or multi-task button or > start other app on my app, then my app should automatically logoff/logout > user and when he comes back ask for credentials. > > To check backgrounded state of app I tried using > ActivityManager.getRecentTasks(1); and check if topactivity package is > other than my app package and if yes then I assumed app is backgrounded, > This works good till Kitkat/OS L where google has deprecated > ActivityManager.getRecentTasks method for privacy purpose. > > Second solution we implemented was to use ComponentCallbacks2 and check > onTrimMemory(int level) for level = TRIM_MEMORY_UI_HIDDEN. This worked in > almost all cases, but one. onTrimMemory Component call back is registered > for Application class. > > When call to Activity finish() happens onTrimMemory call back will not be > triggered. Say I have activity A and B, Activity A starts Activity B, Now I > complete some work in Activity B and call finish() on B, From time when > finish() on B is called till Activity A's onStart/onResume will be called, > in this timeframe if user press home buttom/ multitask button and goes out > of the app, onTrimMemory is not called and it is not possible to know if > app was backgrounded, because of this we can not logoff session. So if user > gets out of app in that timeframe and goes back he will get same session > back. > > Second case we detect same behavior is, if we call finish() in activity > B's onPause() and user press home/multitask button or start other app from > notification area then because of this finish() call in onPause, we are not > getting onTrimMemory call back. > > There should be some standard api/call back to check if app is > backgrounded, if not, apis like onTrimMemory should be consistent with > their call backs. Kindly help. > > -- > 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 > --- > You received this message because you are subscribed to the Google Groups > "Android Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Warm Regards, *Mukesh Kumar*, Android Consultant/Freelancer, India,Hyderabad. -- 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 --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

