Android 监听task 栈变化
系统应用开发过程中,我们很多时候,可能需要监听task栈的变化,来做一些其他的操作。
限制uid权限应用使用
注册Listener
ActivityManager.getService().registerTaskStackListener(mTaskListener);
Listener 代码
//监听task的切换
private final TaskStackListener mTaskListener = new TaskStackListener() {@Overridepublic void onTaskStackChanged() throws RemoteException {super.onTaskStackChanged();//task栈变化}@Overridepublic void onTaskCreated(int taskId, ComponentName componentName) {//task创建}@Overridepublic void onTaskRemoved(int taskId) {//task被移除}@Overridepublic void onTaskMovedToFront(int taskId) {//task 置于前台}};
获取前台应用
List<ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1);
runningTaskInfos.get(0).topActivity