I need to develop a service which listen for every activity start. Must I do something like this?
ActivityManager am = (ActivityManager) getSystemService(Con
As far as I know there is a class IActivityController.Stub
in android.app
package.
But this is an {@hide}
interface (as someone said there have some method to access @hide
api).
We can set a Listener to listen Activity switch like this:
mAm = ActivityManagerNative.getDefault();
try {
mAm.setActivityController(new ActivityController());
} catch (RemoteException e) {
System.err.println("** Failed talking with activity manager!");}
and Class ActivityManagerNative is @hide also. ActivityController is a class extends IActivityController.Stub .
How to access @hide Api:
As far as I know there is currently no way to listen to an app's launch, Unless it is the first time that it is launching. ACTION_PACKAGE_FIRST_LAUNCH (Broadcast Action: Sent to the installer package of an application when that application is first launched (that is the first time it is moved out of the stopped state).
So I guess your solution is the best for this right now.