Android 实时监听Activity堆栈变化(系统应用)

    private val mIActivityManager: IActivityManager = ActivityManagerNative.asInterface(
        ServiceManager.getService(
            Context.ACTIVITY_SERVICE
        )
    )

方式一(registerProcessObserver) :

mIActivityManager.registerProcessObserver(mIProcessObserverStub)

private val mIProcessObserverStub = object : IProcessObserver.Stub(){
        override fun onForegroundActivitiesChanged(
            pid: Int,
            uid: Int,
            foregroundActivities: Boolean
        ) {
           // 栈发生变化
        }

        override fun onForegroundServicesChanged(pid: Int, uid: Int, serviceTypes: Int) {
        }

        override fun onProcessDied(pid: Int, uid: Int) {
           
        }

    }

方式二(registerTaskStackListener): 

        mIActivityManager.registerTaskStackListener(object : TaskStackListener(){
            override fun onTaskStackChanged() {
                super.onTaskStackChanged()
                dLog("$TAG onTaskStackChanged...")
            }
        })

权限添加: 

    <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"/>
    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值