Android 如何获取已暂停并进入后台的活动?

Android 如何获取已暂停并进入后台的活动?,android,android-intent,android-activity,android-lifecycle,Android,Android Intent,Android Activity,Android Lifecycle,我有一个情况,当我的应用程序进入后台时,不会完全死掉!最后一个活着的活动是活性。在这种状态下。我收到推送通知 单击通知时,应打开先前打开的最后一个活动,即BActivity 问题:如何打开最后一个特定暂停的活动 是否有类似设置标志或清单配置的答案?如果我理解正确,您希望在收到推送通知后将应用程序带回前台?在这种情况下,请使用以下代码: Intent intent = new Intent(context, MainActivity.class); intent.addFlags(Intent.F

我有一个情况,当我的应用程序进入后台时,不会完全死掉!最后一个活着的活动是活性。在这种状态下。我收到推送通知

单击通知时,应打开先前打开的最后一个活动,即BActivity

问题:如何打开最后一个特定暂停的活动


是否有类似设置标志或清单配置的答案?

如果我理解正确,您希望在收到推送通知后将应用程序带回前台?在这种情况下,请使用以下代码:

Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                                                 
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
其中MainActivity是您在AndroidManifest.xml中指定的启动器活动

这将使您的应用程序在其以前的状态(如果有)下进入前台,否则将启动MainActivity


有关说明,请参见。

您可以尝试将活动生命周期回调添加到应用程序中。并判断当前暂停或恢复的活动的活动类型等。示例代码:

公共静态应用程序应用程序{ app.registerActivityLifecycleCallbacks新建应用程序.ActivityLifecycleCallbacks{ 私有int activityCount=0; @凌驾 ActivityCreatedActivity活动上的公共无效,Bundle savedInstanceState{ AppUtils.AttachActivity活动; } @凌驾 活动上的公共无效已启动活动活动{ activityCount++; AppUtils.attachforeactivity活动; } @凌驾 活动中的公共无效活动消费主义活动{ 如果!是前景{ isForeGround=true; 通知更改为真; } } @凌驾 活动中的公共无效活动活动{ //无操作 } @凌驾 活动上的公共无效阻止活动活动活动{ AppUtils.detachForeActivityactivity; 活动计数-; 如果activityCount==0{ isForeGround=false; 通知更改错误; Log.iTAG,活动前景:+System.currentTimeMillis; } } @凌驾 ActivitySaveInstanceStateActivity活动上的公共无效,束超出状态{ //无操作 } @凌驾 活动上的公共无效删除活动活动{ AppUtils.detachActivityactivity; } }; } 这里我们使用activityCount字段来计算当前活动的活动计数。当它为0时,应用程序为后台,否则为前台。您可以通过提供的回调方法来判断活动类型

希望有帮助