监听一个变量,如果变化触发了一些代码



我想通过使用ActivityManager.RunningTaskInfo检查运行的应用程序,如果com.example.myapp包包含在列表中启动一些服务:

List<String> lst = new ArrayList<String>();
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
         List<RunningTaskInfo> recentTasks = activityManager
                .getRunningTasks(Integer.MAX_VALUE);
         for(RunningTaskInfo item : recentTasks){
             lst.add(item.baseActivity.getPackageName());
         }      

我的问题是我怎么能听lst List<String>List<String>变化后调用一些方法或启动一些服务。

您可以创建自己的list实现并覆盖每个方法。例如,你的类可以继承ArrayList。在每个修改列表的方法中,调用侦听器:

public voolean add(T value) {
   if(super.add(value)) {
        callListeners()
   }
}

相关内容

最新更新