在我的应用中,我需要在打开和关闭“快速设置”下拉列表时执行某些操作。例如,当用户从“快速设置”下拉菜单打开WiFi时,我需要检查互联网并刷新片段的内容。在这种情况下,在打开和关闭“快速设置”下拉列表时,在片段中调用哪个生命周期回调方法。
答案 0 :(得分:1)
打开快速设置dorp-down时您的活动将
(活动)的onPause(); ---------->(片段)onStop(); --------> (活动)onStop();
关闭快速设置dorp-down时您的活动将来自
(活动)onStop(); ------> (Activity)onRestart(); -------->(Activity)onStart(); ---->
(片段)在onStart(); ------>(活性)的onResume(); ------>(片段)的onResume();
答案 1 :(得分:1)
我遇到了类似的问题,在访问快速设置后我需要运行一些代码。不幸的是,根据我的经验,onResume()
在取消快速设置时没有被调用。
相反,我重写了活动的Activity.onWindowFocusChanged(boolean hasFocus)方法。我将值存储为LiveData,并在片段中对其进行了观察。
我发现的一个警告是,我在片段中使用了警报对话框。这也导致Activity.onWindowFocusChanged
被false
调用。除了处理这种情况之外,它还帮了我大忙。