Anybody? Or is this again one of these cases where "that's not how the
information is supposed to be used"...

On 11 Mrz., 17:41, Chrissshen <chrissss...@googlemail.com> wrote:
> Hi,
>
> is it possible somehow to bind to private system services?
> What I want to do is listen to the activitymanagerservice and be
> notified when other activites are started. I tried implementing the
> IActivityController.aidl from the Sourcecode. It has methods like
> activityStarting and activityResuming but this didn't really work. (I
> used the idea from 
> here:http://blog.codetastrophe.com/2008/12/accessing-hidden-system-service...
> , problem is there is no proper private field one could use at least
> c.getDeclaredFields() doesn't return anything useful from the activity
> manager)
>
> Any ideas how I can get notified of things going on in the Activity
> Manager without having to do a getRunningTasks all the time? Because
> this is the only workaround I came up with but it slows down the
> phone.
>
> Every help is appreciated. Many Thanks,
> Chris
>
> ##IActivityController.aidl:
>
> /*
> **
> ** Copyright 2009, The Android Open Source Project
> **
> ** Licensed under the Apache License, Version 2.0 (the "License");
> ** you may not use this file except in compliance with the License.
> ** You may obtain a copy of the License at
> **
> **    http://www.apache.org/licenses/LICENSE-2.0
> **
> ** Unless required by applicable law or agreed to in writing,
> software
> ** distributed under the License is distributed on an "AS IS" BASIS,
> ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> ** See the License for the specific language governing permissions
> and
> ** limitations under the License.
> */
>
> package android.app;
>
> import android.content.Intent;
> import android.app.IActivityWatcher;
>
> /**
>  * Testing interface to monitor what is happening in the activity
> manager
>  * while tests are running.  Not for normal application development.
>  * {...@hide}
>  */
> interface IActivityController
> {
>     /**
>      * The system is trying to start an activity.  Return true to
> allow
>      * it to be started as normal, or false to cancel/reject this
> activity.
>      */
>     boolean activityStarting(in Intent intent, String pkg);
>
>     /**
>      * The system is trying to return to an activity.  Return true to
> allow
>      * it to be resumed as normal, or false to cancel/reject this
> activity.
>      */
>     boolean activityResuming(String pkg);
>
>     /**
>      * An application process has crashed (in Java).  Return true for
> the
>      * normal error recovery (app crash dialog) to occur, false to
> kill
>      * it immediately.
>      */
>     boolean appCrashed(String processName, int pid, String shortMsg,
>             String longMsg, in byte[] crashData);
>
>     /**
>      * An application process is not responding.  Return 0 to show the
> "app
>      * not responding" dialog, 1 to continue waiting, or -1 to kill it
>      * immediately.
>      */
>     int appNotResponding(String processName, int pid, String
> processStats);
>
>         /**
>      * Often you want to allow a service to call back to its clients.
>      * This shows how to do so, by registering a callback interface
> with
>      * the service.
>      */
>     void registerActivityWatcher(IActivityWatcher watcher);
>
>     /**
>      * Remove a previously registered callback interface.
>      */
>     void unregisterActivityWatcher(IActivityWatcher watcher);
>
> }

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to