Android Q以上后台启动Activity初步尝试

在Android Q以后 google不允许在后台service 广播等等启动Activity 具体请看google文档从后台启动 Activity 的限制  |  Android 开发者  |  Android Developers

文档里有详细的说明,在哪种情况下可以后台启动Activity。

大体分为以下几种情况:

1、应用具有可见窗口,例如前台 Activity。
2、应用在前台任务的返回栈中拥有 Activity。

3、应用在 Recents 屏幕上现有任务的返回栈中拥有 Activity。
注意:当此类应用尝试启动新的 Activity 时,系统会将该 Activity 放置到应用现有任务的顶部,但不会离开当前可见的任务。当用户稍后返回应用任务时,系统会启动新的 Activity,而不是之前放置在应用任务顶部的 Activity。

4、应用的某个 Activity 刚在不久前启动。

5、应用最近为某个 Activity 调用了 finish()。这仅适用于在调用 finish() 时,应用在前台或前台任务的返回栈中拥有 Activity 的情况。

6、应用具有受系统约束的服务。此情况仅适用于以下服务,这些服务可能需要启动界面:AccessibilityService、AutofillService、CallRedirectionService、HostApduService、InCallService、TileService、VoiceInteractionService 和 VrListenerSer

你可能感兴趣的:(android,java)