我有一个棘手的情况。我会尽量以最好的方式充分解释它。
我的应用程序很少有活动,比如 A、B、C。A 是主要活动,B 和 C 从 A 调用。所以基本上当 B 或 C 运行时,A 将停止(onStop())。
我在我的应用程序中使用了一个 android 库(由我创建)。我的图书馆保存了活动的上下文。例如,当我们使用活动 A 打开应用程序时,我的库将保存 A 的上下文,并将使用该上下文创建一个处理程序并将它们保存在 Map( Map<Context, Handler
>) 中。现在,如果我们导航到活动 B,我的库将获取 B 的上下文,然后在地图中为此创建一个新条目。
在某个时间点,我将使用 Map 中的处理程序来发布一些可运行文件。显然,A 和 B 都将收到,因为它们都在运行(一个在后台和前台)。
但是我怎样才能检查并只发送给在前台运行的那个?是否可以从上下文值检查活动当前是正在运行还是已停止?
this.getMainLooper
当从 A 和 B 调用时返回相同的东西吗?
更新:对不起,我错过了这一点。该应用程序是关于如何使用我的库的演示应用程序。所以我将来会发布我的库,开发人员会使用它。因此,我不希望开发人员这样做,如果我能在我的库本身中做到这一点,那将是最好的。