当前位置: 首页 > 知识库问答 >
问题:

在Android中恢复活动

秦伯寅
2023-03-14

我有一个包含3个活动的应用程序

我有主要活动。这将调用第二个活动,然后调用第三个活动。我想在不进入 onCreate 的情况下返回到主要活动。

这是第三个活动的代码:

startActivity(new Intent(TerceraActiviry.this, Main.class));

共有3个答案

何骞尧
2023-03-14

您启动了ActivityForResult,而不是startActivity。

请在此处参考 Android 开发人员以获取更多信息。

花高爽
2023-03-14

为了回到以前的活动,你必须完成可见的活动,请使用这个:

finish();

如果活动是为了一个结果而开始的,那么你应该给出一个结果,就像这样:

Intent intent = new Intent();
intent.putExtra(KEY_RESPONSE, responseData);
setResult(RESULT_OK, intent);
finish();

您应该使用以下命令来捕获调用者活动的结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

  switch (requestCode) {
    // Test for the code you have used to start the Activity
  }
}

希望有帮助,问候

武向文
2023-03-14

如果您的活动仍在运行,则此代码将在不输入onCreate的情况下将其带到前面

Intent openMainActivity = new Intent(TerceraActiviry.this, Main.class);
openMainActivity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityIfNeeded(openMainActivity, 0);
 类似资料:
  • 我有一个端口上带有UDP套接字的活动。如果我按下Home按钮,活动进入后台,将调用OnPause()和OnStop()方法。现在,当我收到一些UDP数据包时,我想恢复我的活动。阅读其他帖子,我明白我必须: 将活动声明为(或) 然后,当我想恢复活动时: 这个解决方案对我不起作用。调用不会在前台显示我的活动,也不会调用。 以下标志可以完成任务,但我不想清除任务并重新启动新任务。

  • 问题内容: 我在应用程序的状态栏中有一条通知: 这样做的问题是,当您从应用程序中按下主页按钮(将其推到后台)然后在从状态栏访问的列表中的通知上按下时,它将启动活动的新副本。我要做的就是恢复应用程序(例如,长按主屏幕按钮并按应用程序图标上的)。有没有一种创建意图的方法? 问题答案: 我已通过将我的活动更改为androidManifest.xml文件来解决了此问题。 此属性的默认值为,它允许运行任意数

  • 为了在重新创建活动后(例如在屏幕方向更改后)恢复活动的状态,我在SaveInstanceState()和onRestoreInstanceState()上实现了。保存/恢复int、double等简单信息很简单,但保存/恢复Timer等对象又如何呢?

  • 我们使用的是片段,我们不需要在重新创建活动时自动恢复它们。但是,Android每次调用->时,都会恢复片段,即使我们对这些片段使用setRetaInstance(false)。 附言。我们知道,在为配置更改重新创建活动的情况下,可以通过在manifest中添加来完成。但是,在自动清理内存的情况下,如何重新创建活动呢?

  • 我在做一个从传感器收集数据的应用程序。每次传感器发送数据时,地图上都会放置一个新的标记。当我按后退,然后恢复地图活动,所有的标记都消失了。在恢复活动时,是否有方法保存和恢复每个唯一的标记及其唯一的标记选项(title、snippet、LatLng)?

  • 情况: 比如说,我目前正在开展应用程序活动A。 过了一段时间,我按下了“主页”按钮。应用程序A进入后台 现在,我开始使用另一个应用程序B——例如youtube等。 在应用程序A中发生了一些事情(不管在这种情况下发生了什么,比方说计时器完成了计算时间),目前它被最小化到后台 事件发生时,应用程序A活动会自动从后台恢复 问题: 如何完成第5步?基本上,我需要知道如何以编程方式从后台恢复应用程序。 我试