我想获取应用程序的运行活动并调用其中一个方法(我在服务中)。我发现我需要这样的东西,但我无法解决我的问题。可能吗?
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")) {
...
}
}
答案 0 :(得分:0)
根据您的评论:
问题是该服务未从我的活动中调用 想要关闭。我有活动A调用活动B调用 服务S,我希望S关闭A.
这是错误的做法。最好的办法是让Activity A注册一个侦听特定Intent
的广播接收器。当服务希望A完成时,它可以广播特定的Intent
。通过这种方式,您的服务正在与活动进行隐式通信,而无需引用它,或者知道它是否正在运行。