问题标签 [android-lifecycle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
99525 浏览

android - 当我的应用程序进入后台时,如何防止 Android 截屏?

我当前正在构建的应用程序要求应用程序必须阻止操作系统在出于安全原因将其推入后台时截取应用程序的屏幕截图。这样,在应用程序之间切换时,它将无法看到最后一个活动屏幕。

我打算将此功能放在应用程序类的 onPause 方法中,但首先我需要了解如何实现此功能。

那么那里有没有人知道如何解决这个问题?

0 投票
2 回答
1970 浏览

android - 从 BACK 按下返回应用程序后界面未重新加载

我目前有一组选项卡,每个选项卡都绑定到一个片段,我终于在其中一个选项卡上获得了 UI,以查看它应该如何。这是应用程序正确加载后的外观截图(在初始启动并滚动到选项卡之后):在此处输入图像描述现在,在我点击后退按钮之后(我没有也不会为每个选项卡使用 backStack -我不喜欢那种 UI 范例)然后使用应用程序切换器或从启动器重新启动,我的 questionRows 消失了(它们不会重新加载)。我需要在 onPause 中实现一些东西来保存我的显示吗?为什么 onResume 不处理这个?

0 投票
2 回答
27012 浏览

android - 何时实际使用 savedInstanceState 包?

有谁知道在活动中何时使用 savedInstanceState 包的详尽列表?

我知道它在设备方向改变时使用。但是,当用户从 Android 设置中强制关闭应用程序时,它似乎没有被使用,但这可能是由于我的代码中的某些内容。

还有哪些案例?

需要明确的是,“使用”是指onCreate()调用时,savedInstanceState 包不为空,并且包含我上次onSaveInstanceState()调用时传递给它的数据。

0 投票
0 回答
95 浏览

android - Activity 生命周期中 eclipse / build 版本之间的奇怪差异

我有 MainActivity它扩展了TabActivity并拥有由Activity1Activity2表示的两个选项卡

1.如果我从 Eclipse MainActivity->onCreate()在模拟器或设备上运行此应用程序,它会通过Dialog为用户提供位置选择。当用户选择一个地方时,会创建选项卡的活动并设置 currentTab 将Activity1置于前面并暂停 MainActivity

2.每当我点击 HOME 按钮或点击 Back 几次。我可以看到MainActivity以及Activity1Activity2PAUSED

3.当我在后者之后转到 Application/MyApp 时, Application 的状态得到维护,我可以看到任何正在运行的活动都被RESUMED带回了前面。

这部分工作得很好

但是,如果我将 MyApp 导出为发布版本。

如果我遵循 1 和 2,然后尝试转到 Applications/MyApp,我总是会得到对话框以进行位置选择,这意味着MainActivity正在创建,这反过来意味着它在我去 HOME 时被破坏。

  • 为什么在构建版本中会发生这种情况,但在我从 Eclipse 运行时却没有?

对我来说更奇怪的是,当我在对话框屏幕上按 BACK 按钮时,我会从我之前启动的 MyApp 中获得Activity1 或 2 。这意味着Activity1 或 2 (按下HOME时在前面的 Activity )没有被破坏。

  • MainActivity(TabHost 的基础)是否可以在包含未销毁的Activity1 或 2时被销毁?

希望我解释得很好

更新 27.03.2012

现在这很有趣:) 我构建 apk 然后将其上传到服务器。然后在我的 Galaxy 2.2 上,我在浏览器中输入 url 并下载 apk。下载完成后我安装它。安装完成后,当我按下打开时,我有两个选项打开完成,我可以复制前面描述的问题。但是当我选择完成并稍后通过应用程序菜单访问它时,它可以正常工作!所以这个选择决定了应用程序以后的行为?为什么?如何?我很困惑

0 投票
1 回答
3391 浏览

android - 如何将应用程序回栈保存到包中?

我想保存我的应用程序的状态,以便当它从关闭状态重新打开时,最后一个片段是可见的,并且保留了返回堆栈。我想在每次关闭应用程序时保留此状态,而不仅仅是在方向更改或系统终止应用程序以释放资源时(如使用onSaveInstanceState()/时的情况) onRestoreInstanceState()

到目前为止,我已经能够通过将状态保存到 SharedPreferences 并稍后恢复它来按计划恢复以前的片段及其状态。但是,这不会保留片段返回堆栈,因此当用户加载应用程序并按下返回按钮以在应用程序流程中“向上”移动时,应用程序会退出而不是向上移动。

在这一点上,我需要的是能够访问应用程序回栈,并在必要时将其保存到包中,就像系统在onSaveInstanceState(). 我已经阅读了文档,FragmentManager.saveFragmentInstanceState()但我不确定如何使用它来实现我的目标。谁能指出我正确的方向?

我正在使用 Android 兼容性库中的片段实现。

0 投票
2 回答
77 浏览

java - 游戏无法正常退出

我有一个应用程序,到目前为止包含两个活动:

  • 主菜单活动。

  • 游戏活动

Main Menu Activity 包含一个使用以下代码启动 Game Activity 的按钮:

当用户完成游戏活动时,他按下后退按钮。这首先调用了 onPause() 方法,该方法暂停了游戏的动画线程。然后它调用 onStop() ,它在活动上调用 finish() 。用户返回到主菜单活动。代码概述如下:

问题是这仅在我从 Eclipse 启动应用程序时才有效。当我点击应用程序图标时,游戏从游戏活动开始。主菜单活动不出现。

我不清楚为什么会这样。这可能与清单有关。我在下面粘贴了相关部分:

我真的很感激这方面的任何帮助。谢谢。

0 投票
3 回答
20362 浏览

android - android:何时使用 onStart()、onStop()?

onStart()我已经阅读了几篇描述和之间区别的文章onResume()onStart()当活动变得可见时onResume()调用,当活动准备好与用户交互时调用。美好的。

我一直只是在 and 中添加代码onPause()onResume()从不打扰onStart()and onStop()

任何人都可以给出一些具体的例子来说明你可能会做onStart()什么onResume()onStop()和 也一样onPause(),有什么onStop()用?我必须在这里遗漏一些基本的东西。

0 投票
2 回答
6199 浏览

android - 活动生命周期 X 电源按钮 X 锁屏

当我按下电源键时,屏幕关闭(完全黑暗),系统销毁我的活动,然后重新创建它:

这是因为我的活动具有固定的方向(横向)并且锁定屏幕是纵向的。

我通过设置固定的纵向方向来测试这个理论并且问题没有发生。我还检查了 getResources().getConfiguration() 值:

怎么能避免呢?我不希望我的活动被锁定屏幕破坏!

0 投票
1 回答
1410 浏览

android - 即使 onCreateView 再次运行,按 BACK 后 View 也无法正确重新组装?

我的应用程序几乎完成了。在下面的第二段代码中,您将看到一个临时的 while 循环。这个循环的目的是向我的 questionContainer 添加十个表行(很快,我将用一个从 SQL db 获取类似元素的 AsyncTask 替换它)。我在 while 循环中放了一个 Log.v,以查看它何时运行。事实证明,在初始启动时,while 循环和 onCreate 视图运行得很好。但是在按下后,然后通过应用程序切换器重新打开应用程序,而 onCreateView 重新运行,whileloop 显然没有执行。任何人都可以提供任何见解吗?

并且在按返回退出应用程序后未重新填充的片段,然后任务切换器返回:

这是一个示例 Logcat,具有以下过程:启动应用程序,滚动到 Econ 以外的选项卡,按 BACK,重新打开应用程序,滚动到 Econ 选项卡(其中十个表行不重建:

0 投票
1 回答
153 浏览

android - Android应用生命周期混乱

我有一个重复使用 Activity 次数未知的应用程序。它运行

a> b1||c1 > b2|| c2 > ...

如果我去 a > b1 > b2 > b1,我的应用程序仍然在屏幕上显示 b1 列表,但如果我点击它,它会将我带到相应的 b2 活动。我用来保存 b 数据的 arrayList 需要为 b 的正确实例恢复。

我一直在阅读http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle 但我不认为 onPause 和 onResume 会起作用,因为我再次使用相同的活动。