sprd 安卓11 监听apk的启动和退出(最优方案)

本文介绍了如何在安卓11系统中,通过WindowManagerService的REPORT_FOCUS_CHANGE来实现对apk启动和退出的精确监听,解决了其他方法在特定情况下的监听问题。
摘要由CSDN通过智能技术生成

1.监听apk启动和退出有很多方法,比如topActivity,或者在ActivityThread.java中监听等;但是这些都会存在一些问题,或在部分情况监听不到,或者错误(如自由窗口的apk无法监听退出)
2. WindowManagerService.java 中有REPORT_FOCUS_CHANGE,可以监听focus的变化,并且lastFocus和newFocus可以看到怎样的apk切换,也可以监听到apk不同类名界面的切换

--- a/sprd/frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/sprd/frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -315,7 +315,7 @@ import java.util.Objects;
 import java.util.Optional;
 import java.util.function.Function;
 import java.util.function.Supplier;
-
+import android.util.Log;
 /** {@hide} */
 public class WindowManagerService extends AbsWindowManagerService
         implements Watchdog.Monitor, WindowManagerPolicy.WindowManagerFuncs {
@@ -4830,7 +4830,7 @@ public class WindowManagerService extends AbsWindowManagerService
                     final DisplayContent displayContent = (DisplayContent) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心有纤纤结

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值