Dear Mukesh, As I said this won't work with Android OS L, Kindly test on OS
L emulator.
This method has a warning on Developers page
*Note: this method is only intended for debugging or implementing service
management type user interfaces.*Google deprecated this method in OS L and
will return only requesting apps service not other apps service
*.*Anyways thanks for help.
On Tuesday, September 2, 2014 9:29:32 PM UTC+10, Mukesh Srivastav wrote:
>
> Dear Omkar,
>
> Here is the code to check if the apk pid..
>
> private boolean isMyServiceRunning() {
> ActivityManager manager = (ActivityManager)
> getSystemService(Context.ACTIVITY_SERVICE);
> for (RunningServiceInfo service : manager
> .getRunningServices(Integer.MAX_VALUE)) {
> if (yourclassname.class.getName().equalsIgnoreCase(
> service.service.getClassName())) {
> return true;
> }
> }
> return false;
> }
>
> it returns true if succeeded...
>
>
>
>
>
> On Tue, Sep 2, 2014 at 4:07 PM, Omkar <[email protected] <javascript:>>
> wrote:
>
>> Hi Mukesh, Any suggestions on how to get current pid?
>> ActivityManager.getRecentTasks is deprecated by google in android OS L for
>> provacy purposes. so can not use any ActivityManager method to get current
>> PID/Running task. onTrimMemory seems reliable way to get if app is hidden
>> or not, but only have problem descibed above.
>>
>>
>> On Monday, September 1, 2014 5:59:44 PM UTC+10, Mukesh Srivastav wrote:
>>
>>> 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]
>> <javascript:>
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> 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] <javascript:>.
>> 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.