使用ActivityManager调用活动方法

时间:2013-11-08 11:54:30

标签: android android-activity activity-manager

我想获取应用程序的运行活动并调用其中一个方法(我在服务中)。我发现我需要这样的东西,但我无法解决我的问题。可能吗?

ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> procInfos = am.getRunningAppProcesses();
for (int j = 0; j < procInfos.size(); j++) {
    if (procInfos.get(j).processName.equals("com.android.pm")) {
        ...
    }
}

1 个答案:

答案 0 :(得分:0)

根据您的评论:

  

问题是该服务未从我的活动中调用   想要关闭。我有活动A调用活动B调用   服务S,我希望S关闭A.

这是错误的做法。最好的办法是让Activity A注册一个侦听特定Intent的广播接收器。当服务希望A完成时,它可以广播特定的Intent。通过这种方式,您的服务正在与活动进行隐式通信,而无需引用它,或者知道它是否正在运行。