首页 > 解决方案 > 当设备处于睡眠模式时,onResume 和 onPause 循环?

问题描述

当我将我的设备置于睡眠模式(锁屏)时,logcat 会被调用淹没,onPauseonResume会一直循环,我的广播接收器会不断取消注册和注册,当我返回应用程序时它会停止。

这是正常的吗?

我的代码

@Override
    public void onPause() {
        super.onPause();
        if (getActivity()!= null){
            getActivity().unregisterReceiver(UpdateDataSetBroadCastReceiver);
        }
        Log.i(TAG, "AlbumsFragment OnPause Called!");
    }

    @Override
    public void onResume() {
        super.onResume();
        registerUpdateDataSetBroadCastReceiver();
        Log.i(TAG,"AlbumsFragment OnResume Called!");
    }

标签: javaandroidandroid-lifecyclesleep-mode

解决方案


在 onPause 方法中,您应该首先取消注册接收者,调用其他方法(例如 Log.i),然后调用 super.onPause()。


推荐阅读