听一个变量,如果变化触发一些代码
Listen to a variable, if changes trigger some code
我想使用 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>
更改之后调用一些方法或启动一些服务。
提前致谢。
您可以创建自己的列表实现并覆盖每个方法。例如,您的 class 可以继承 ArrayList。在每个修改列表的方法中,您调用您的侦听器:
public voolean add(T value) {
if(super.add(value)) {
callListeners()
}
}
我想使用 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>
更改之后调用一些方法或启动一些服务。
提前致谢。
您可以创建自己的列表实现并覆盖每个方法。例如,您的 class 可以继承 ArrayList。在每个修改列表的方法中,您调用您的侦听器:
public voolean add(T value) {
if(super.add(value)) {
callListeners()
}
}