我想从我的广播接收器中查找当前正在运行的其他活动。这是我从活动中使用它来查找其他运行activites但是当我尝试在我的广播接收器使用此代码我得到以下行错误代码:在Android中查找广播接收器的运行活动
ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
显示在eclipse ACTIVITY_SERVICE误差不能解析为一个可变
PackageManager pm = this.getPackageManager();
,这表明在蚀该错误的方法getPackageManager()是未定义的类型ScreenReceiver(我的广播接收机)
这里是全码:
public void getRunning(){
ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while(i.hasNext()) {
ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
try {
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
Log.w("LABEL", c.toString());
runningApplications.add(c.toString());
}catch(Exception e) {
//Name Not Found Exception
}
}
}
要更加清楚这个问题:'this'指您正在操作的类实例。在这种情况下,是“BroadcastReceiver”的后代。所以'这个'与预期完全不同。 – yoshi 2012-07-17 20:00:35
runningApplications.add(c.toString()); <---什么类型的runningApplications? – bofredo 2013-08-29 13:38:06