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