我想通过使用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()
}
}