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

正在恢复活动的状态

史弘致
2023-03-14

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

共有1个答案

有睿
2023-03-14

不能在活动参数或保存的实例数据中存储活动对象(如数据库连接)。这些机制的设计是为了让应用程序可以完全停止,所以它只适用于可以“序列化”和以后恢复的东西。

你能做的就是使用碎片。如果您添加一个没有UI的片段(请检查此处,查找“添加一个没有UI的片段”)并调用setRetainInstance(true),片段将重新连接到活动中,在任何配置更改中幸存下来。

希望有帮助。(请记住,您可以通过使用支持包使用旧Android版本的碎片)

 类似资料:
  • 我有一个包含3个活动的应用程序。 我有主要活动。这将调用第二个活动,然后调用第三个活动。我想在不进入 onCreate 的情况下返回到主要活动。 这是第三个活动的代码:

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

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

  • 我的Android应用程序有问题,我正在使用Android StudioIDE进行开发。差不多是当我把应用程序放在后台几分钟,或者被系统杀死,或者我混合了片段的不同布局时。我在下面放了一张图片: 如果你有其他人也写的话,我已经尝试了各种方法。提前谢谢你。

  • 我创建了一个使用提供小型库的活动。但是,我不能让它在活动恢复时刷新(例如,在从其他活动返回后)。每次前两张图片将是空白的,只有当我刷两张图片到旁边,他们得到刷新。我找到的答案都不起作用(特别是重写) 我是这样设置的: 在我试图修复它之后,代码有点乱...但是:删除不起作用。我已经将放在了几个必须调用的地方(如),但没有任何结果。我有点绝望了。

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