我遇到了围绕前景的问题 - https://stackoverflow.com/questions/20647168/android-how-to-find-if-any-app-is-running-in-foreground。 我需要对android中使用的术语前景进行一些澄清。我认为我在android中有一个工作定义的背景 - 你无法在屏幕上看到的东西。 前景只是你可以在屏幕上看到和互动的东西。就像我要玩一个飞扬的小鸟游戏一样,游戏本身(鸟跳过管道)会成为前景,因为我可以看到并与之互动。基于那样,游戏音乐会在后台,因为我看不到它?
答案 0 :(得分:2)
前景只是你可以看到和互动的东西 屏幕。
恕我直言,是的,前景是用户可以通过Android组件(如Activity或服务)与应用程序进行交互的状态。 以前台服务中播放音乐的Musicplayer为例。此外,如果您必须通过Actvity与应用程序交互,则活动必须处于forground状态。即使活动可见但不在前台,用户也无法与应用程序进行交互。
答案 1 :(得分:2)
如上所述,简单来说,如果它是可以互动的,那么它就在前景中(虽然反过来可能并不总是如此)。
确切地说:
系统区分前景和后台应用。如果满足以下任何条件,则认为应用程序位于前台:
- 无论活动是开始还是暂停,它都有可见的活动。
- 它有一个前台服务。
- 另一个前台应用程序通过绑定到其中一个服务或使用其中一个内容提供程序连接到应用程序。
如果这些条件都不成立,则认为该应用程序位于后台。 1
答案 2 :(得分:1)
用户可以查看和交互的已启动服务或活动被称为处于前台状态,并且系统认为它是用户主动了解的内容,因此在内存不足时不会被杀死。< strong>飞扬的鸟类活动是前景,因为你可以看到它并与之互动。