Android,应用程序在锁屏后重新启动

5

我整天都在尝试处理状态,想找出为什么当我按下电源键以唤起锁屏时,我的应用程序失去焦点并调用了它的onStop()(正如它应该做的),但然后在屏幕关闭之前又再次调用了onStart()。这会导致问题,因为在锁屏处于活动状态时,我的应用程序中的某些声音(以及可能是其他东西)开始播放。

我该如何确保在锁屏处于活动状态时它被正确地置于后台并停止运行?

1个回答

8

我不久前遇到了这个确切的问题。在 AndroidManifest.xml 中,请确保您有以下内容:

android:configChanges="keyboardHidden|orientation"

这将防止您的活动在运行时“配置更改”时重新启动。请参见处理配置更改。这样,您的应用程序将监听会导致重新启动的事件 - 如方向和键盘可见性更改 - 并在您的 Activity 中处理它们。

在 SO 上也有一个非常相似的问题: Android 上旋转时活动重新启动


1
你真是救星,谢谢!今天早上我在窗户外面看着,因为失去方向而遇到了问题,看到了这个选项,但没有注意。再次感谢! - Hamid
1
引用来自链接文档的内容:“这种技术应该被视为最后的手段,不建议在大多数应用程序中使用。” - CommonsWare
我的应用程序的性质意味着它应该始终处于横向模式,无论其他因素如何,也不应有任何例外。因此,我认为这是一个可接受的解决方案,并且通过在活动切换之间锁定我的应用程序在横向模式下,实际上帮助我解决了一个次要问题。 - Hamid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接