安卓系统提供了监听Process,Activity和Stack的状态变化的API,但是是Hide类型,并不能提供给非系统应用使用。
但是,在系统应用中,还是可以使用的。
import android.app.TaskStackListener;
import android.app.ActivityManager;
import android.app.ActivityManager.StackInfo;
import android.app.IActivityManager;
import android.app.IProcessObserver;
import android.util.SparseArray;
import java.util.Objects;
public class SystemActivityMonitoringService{
private static Context mContext;
private static IActivityManager mAm;
private static ProcessObserver mProcessObserver;
private static TaskListener mTaskListener;
public SystemActivityMonitoringService(Context context) {
mContext = context;
mProcessObserver = new ProcessObserver();
mTaskListener = new TaskListener();
mAm = ActivityManager.getService();
// Monitoring both listeners are necessary as there are cases where one listener cannot
// monitor activity change.
try {
mAm.registerProcessObserver(mProcessObserver);
mAm.registerTaskStackListener(mTaskListener);
} catch (Exception e) {
Log.

本文介绍了一种在Android系统应用中监听进程、活动和堆栈状态变化的方法,通过使用隐藏类型的API,如ProcessObserver和TaskStackListener,实现对应用程序状态的实时监控。
最低0.47元/天 解锁文章
1413

被折叠的 条评论
为什么被折叠?



