屏幕关闭时,时髦的Android活动行为?

时间:2010-11-28 16:49:22

标签: android android-activity screen

当Android关闭屏幕并锁定屏幕时,我看到一些有趣的活动流程...我的应用程序通过常规流程,onCreate,onStart和onResume。然后,我让手机坐在那里。当屏幕变黑时,会调用onPause。没关系。然后5秒钟,应用程序被杀死(onStop,onDestroy)。那也没关系。但是在调用onDestroy之后立即,调用onCreate,onStart和onResume,即使屏幕为空,也要重新启动应用程序。该应用程序有一个加载时间,并在它启动时播放声音,所以当你30秒前设置的手机开始播放声音时,它会有点令人毛骨悚然。为什么android会杀死应用程序然后重启它?目标是2.1更新,手机是三星Captivate。其他人看到这个,并知道一种阻止它的方法吗?

2 个答案:

答案 0 :(得分:4)

它可能不是你所看到的,但在我的手机上,这样的事情发生了,因为睡眠模式总是在一个方向,如果应用程序在另一个方向,它会被杀死并在睡眠方向重新创建。如果你问我,相当不理想。

听起来像你可能没有诸如你的启动声音与足够具体的原因相关联的事情。如果您在手机“开启”时旋转手机会怎样?无论如何,你应该能够检测到屏幕没有打开而没有(或推迟)真正的启动。

如果隐式方向更改是罪魁祸首,您可以更改应用程序的处理方式 - 设置要求您的应用程序可以动态更改而不必重新创建。

答案 1 :(得分:3)

在活动的清单中,为每个应用程序添加:

android:configChanges="orientation|keyboardHidden"

这告诉安卓你自己会处理这两种情况 - 虽然你当然在撒谎:你不会做任何事情来处理它们,但Android并不知道这一点。这适用于以横向模式运行的应用/游戏/等,并且永远不会改变方向。