如何处理上唤醒(闹钟应用)的Android活动的生命周期
-
27-09-2019 - |
题
我有几个问题,一个闹钟应用,我发展。
这是我认为这是一个有点怪异的第一件事是,当警报响起,并唤醒手机上来。这些东西happend。
OnCreate中,点击 结果的onResume 在onPause结果 的onResume
为什么它们的顺序运行?最后两个不应该叫什么名字?这是什么使我麻烦大了,因为当我按下家里或回手机上,在onPause运行,我想调用finish()的。而这部分作品,因为它应该,但是当手机从通话的onPause ...
的睡眠bacause唤醒UPP不起作用任何想法?
解决方案
我建议你看看官方的报警应用程序如何处理事件: https://android.googlesource.com/platform/packages/apps/DeskClock
其他提示
我也有类似的问题:ⅰ创建活动并在后台服务。当服务从网络接收的一些数据会带来向上的活动。 一切工作正常,直到活动在的onStop阶段,屏幕变黑。 当我有这种情况,我请求活动重启,我有:
onRestart 在onStart 的onResume 在onPause onNewIntent 的onResume
正如你可以看到我有一个的onResume,在onPause和其他的onResume和活动来提供给用户。
似乎是因为我们使用一个singleTop或singleInstance活性(也许还出现在singleTask)。问题是,当你发送一个Intent到一个已创建singleTop活动,您的新意图活跃onNewIntent()方法。从API可以看到的是:
的活动将始终被暂停 接收到新的意图之前,所以你 可以指望的onResume()被调用 后该方法
所以也许这就是为什么你收到的onResume-的onPause-的onResume电话。
然而,这是一个奇怪的行为!
你真的想在onPause调用完成()()?当当前活动不是在前台任何更多的onPause()被调用。也许你想在你的onStop()方法调用完成()来代替。请参阅 Activity lifecycle
获得的信息。