Android 如何使对话框在我的活动存在期间保持有效(如果用户不关闭它)?

Android 如何使对话框在我的活动存在期间保持有效(如果用户不关闭它)?,android,dialog,Android,Dialog,我正在使用AlertDialog.Builder构建并显示一个对话框。当显示该对话框时,我希望该对话框在“活动”运行期间保持不动,只要用户不关闭它 问题是,在我的Galaxy S3中,它工作得很好,但在HTC Wildfire或Desire中,它并不像预期的那样工作。如果我锁定并解锁屏幕,我的对话框将消失 如何使其在所有设备上工作?您应该使用对话框片段或在onCreateDialog(int-id,Bundle-args)中构建警报对话框,并使用显示对话框(int-id)。许多HTC设备积极回收

我正在使用
AlertDialog.Builder
构建并显示一个对话框。当显示该对话框时,我希望该对话框在“活动”运行期间保持不动,只要用户不关闭它

问题是,在我的Galaxy S3中,它工作得很好,但在HTC Wildfire或Desire中,它并不像预期的那样工作。如果我锁定并解锁屏幕,我的对话框将消失


如何使其在所有设备上工作?

您应该使用
对话框片段
或在
onCreateDialog(int-id,Bundle-args)
中构建
警报对话框
,并使用
显示对话框(int-id)
。许多HTC设备积极回收内存,使您的应用程序处于类似于配置更改的状态。遵循这些约束应该可以解决问题


不幸的是,您在某种程度上受到了系统的支配。我认为最好的办法是在onPause()中保存对话框的状态,即显示或不显示,然后在onResume()中查找保存的状态,并使用它确定是否应重新显示对话框。但这可能会对已经正常工作的设备产生意外影响。