Android 如果更改触发某些代码,请侦听变量
我想使用Android 如果更改触发某些代码,请侦听变量,android,listener,Android,Listener,我想使用ActivityManager.RunningTaskInfo检查正在运行的应用程序,如果com.example.myapp包包含在启动某些服务的列表中: List<String> lst = new ArrayList<String>(); ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List&l
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());
}
List lst=new ArrayList();
ActivityManager ActivityManager=(ActivityManager)getSystemService(Context.ACTIVITY_服务);
列出最近的任务=activityManager
.getRunningTasks(整数.MAX_值);
对于(RunningTaskInfo项:recentTasks){
添加(item.baseActivity.getPackageName());
}
我的问题是如何收听lst List
,然后在List
更改后调用一些方法或启动一些服务
提前感谢。您可以创建自己的列表实现并覆盖每个方法。例如,您的类可以继承ArrayList的。在修改列表的每个方法中,您都调用您的侦听器:
public voolean add(T value) {
if(super.add(value)) {
callListeners()
}
}
您可以创建自己的列表实现并覆盖每个方法。例如,您的类可以继承ArrayList的。在修改列表的每个方法中,您都调用您的侦听器:
public voolean add(T value) {
if(super.add(value)) {
callListeners()
}
}
谢谢你的回答,但是没有其他方法可以在内容发生变化时得到通知??没有。请检查完整书面课程的答案。@Yoav Sternberg:谢谢你的回答,但对我来说这是一个复杂的话题。我用另一种解决方案来解决我的问题。谢谢你的回答,但是没有其他方法可以在内容发生变化时得到通知??当然没有。请检查完整书面课程的答案。@Yoav Sternberg:谢谢你的回答,但对我来说这是一个复杂的话题。我用另一种解决办法来解决我的问题。