问题标签 [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 投票
1 回答
964 浏览

android - 如何在 Android 中使用 Dialog OnClick Listner?

我是 Android 开发的新手。如果我的问题很简单,请原谅。

我尝试使用 XML 在我的 Android 布局视图上创建一个按钮。现在在 Activity 类中,我试图获取按钮并向其添加点击列表。这工作正常,没有任何问题。

在按钮单击的类似行上,我之前解释过,我弹出了一个对话框。在这个对话框中,我有一个 ImageButton。单击此图像按钮时,我正在尝试使用以下代码设置单击列表器。

@覆盖

在上面我得到这个序列的日志。1,3,4,5。我没有得到 2。在 toast 中,我收到空白消息,空白后跟 java.lang.Nullexception。

但这在执行时会给我一个强制关闭弹出窗口。请建议如何做到这一点。或者有没有相同的解决方法?我需要有一个对话框来单击按钮,然后在对话框中我需要有多个按钮选项。对于对话框中的每个按钮,我需要执行不同的活动。任何形式的帮助或建议都是可观的。提前感谢您的时间和帮助。

0 投票
1 回答
316 浏览

android - 智能检测应用程序后台

我正在寻找一种方法来检测我的 android 应用程序是否已在后台运行,以便Activity在按下 Home 键(或堆栈中最后一个活动的返回键)时无论哪个正在运行,都会调用指定的函数。

onPause()并且onStop()无法区分替换当前活动的新活动和正在后台运行的应用程序,因此我正在寻找有关我必须包括哪些额外测试来确定这一点的建议。

0 投票
1 回答
209 浏览

android - 退出活动导致重新启动时不显示对话框

我一直在研究这个问题,但我似乎无法弄清楚。我有一个简单的应用程序,有几个普通视图和一个 GL 表面视图,我使用 onCreateDialog() 制作了几个对话框,一切看起来都很好。

但是,如果我使用 home 退出应用程序,然后返回应用程序,对话框将不再出现,但屏幕会变暗,就好像正在显示对话框一样。即使对话框没有显示,我也会调用 onPrepareDialog(),我在其中尝试了一些操作,例如从对话框中调用 show()。它变得有点奇怪,如果我然后切换到我的 GL 表面视图并返回对话框再次工作。我正在使用 ViewAnimator 在我的视图之间切换。我很确定我正在正确处理生命周期,而不是骑 onPause() / onResume()

一如既往,感谢您的帮助。

0 投票
2 回答
2614 浏览

android - 当电话打断应用程序时,android 应用程序会发生什么?

我正在开发一个应用程序,并且在我的一项活动中显示了一个进度对话框。我已经对其进行了管理,使其在旋转期间正确显示,并且我认为这也可以处理电话的情况,但是当我通过电话对其进行测试时,对话框消失了。那么电话呼叫究竟对应用程序做了什么,以及应用程序生命周期的一部分又是怎样的呢?

0 投票
1 回答
1153 浏览

android - 启动服务调用 Application onCreate?

如果你提供一个扩展的Application类,会不会在创建Service的时候调用onCreate,即使没有Activity被带到前台?

0 投票
1 回答
205 浏览

android - 服务关闭时的操作顺序

我正在编写一个使用 AsyncTask 执行一些网络操作的服务。假设 AsyncTask 的 doInBackground 花费了很长时间,而在此期间,资源变少并且操作系统正在关闭服务。

AsyncTask 什么时候被杀死?调用 onDestroy 时 AsyncTask 是否仍在运行,或者之后会发生,还是我负责关闭 AsyncTask?我试图确保我的 onDestroy 中的代码和我的 doInBackground 中的代码之间没有竞争条件。

0 投票
3 回答
338 浏览

android - Android:当用户按下主页而不是屏幕旋转时如何断开连接?

我正在开发一个为多种目的维护连接的应用程序,例如发布接收位置更新。根据 android 的做事方式和其他答案的建议,我没有覆盖在屏幕旋转时破坏和重新创建应用程序的默认 android 行为,并且在这方面做得很好。

我保持与 onRetainNonConfigurationInstance 方法的连接。问题是我想在用户按下 Home 时关闭连接,应用程序被最小化或由于其他原因失去焦点但不是在屏幕旋转时 - 因此我不能在 onPause、onStop 或 OnDestroy 中执行此操作一些检查,因为它们在配置更改时被一个接一个地调用。就像现在一样,我使用 isFinishing() 来检查应用程序是否正在关闭 - 但是用户按下 Home 的情况并不需要 isFinishing() == true (这是有道理的)。

我想到的一个解决方案是检查应用程序是否在处理连接更新的线程中具有焦点,如果一段时间没有焦点就关闭它 - 但我觉得必须有一些更好的方法来做到这一点?

在此先感谢您的时间。

(在阅读发布的答案后,编辑以清除有关活动生命周期和 onRetainNonConfigurationInstance 的内容)

0 投票
2 回答
514 浏览

android - 如何在创建活动之前定义屏幕方向?

我通过以下方式将我的活动定义为仅处于纵向模式:android:screenOrientation="portrait"

当我通过意图使用相机功能拍照时,以横向模式拍摄这张照片并在保存时将屏幕切换到纵向模式,我再次返回我的活动。我不明白的是,我的活动在短时间内处于横向模式,被破坏然后以纵向模式再次构建......因为我的 onCreate onRestore 功能需要一些时间,所以用户的等待时间加倍.. .

是否有解决方法或其他方法?

0 投票
1 回答
73 浏览

android - 在创建之前访问 GUI 元素?

在 Activity 生命周期中,onActivityResult 方法在 onCreate 方法之前被调用,其中我的所有按钮等都被初始化。怎么可能访问它们呢?谢谢一些背景知识!

0 投票
1 回答
149 浏览

android - 除了保存变量状态,onPause、onStop、onDestroy 有什么好的做法?

我在我的第一个应用程序的设计中,我将回顾我的代码并实施生命周期管理。除了保存变量的状态之外,每种方法都有哪些好的做法?

例如:清除动画?

我知道这个问题有点含糊,但我想知道当你实现这些方法时你的“待办事项”列表是什么样的。

谢谢!