android listen for app launch

天大地大妈咪最大 提交于 2019-11-29 10:52:33

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.

JerrySher

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:

  1. you can get the android source code to build an have-@hide-api Android.jar to use.
  2. by reflection.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!